[Cmake-commits] CMake branch, next, updated. v3.1.2-1134-g7afab9f

Stephen Kelly steveire at gmail.com
Mon Feb 9 13:38:28 EST 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  7afab9f4863d2ee87a1f32ee93a39d681d4a7056 (commit)
       via  686d101fe28eda7850afe1c4db9d183f43991edb (commit)
       via  2278346fce493a6dff5bbc0ae3234a560afc36ca (commit)
       via  abded27208623ebd45e2ce66ab0ba36c40ccae58 (commit)
       via  d9f8390db6ab0d776eb39b840a3b096b5422229f (commit)
       via  cc1520947608f5224a4fdfa94b5cb07e19e23600 (commit)
       via  c0d8e715915f65196353c09d86d4d34fe100437f (commit)
       via  68d29f519047aeef92a0ab8fef531010c311efaa (commit)
       via  1c3918ff0278715e2a4ec5929f75f7812003ee97 (commit)
      from  0d4ba3c93ba7d30587eaf9ede129ff94801dda91 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7afab9f4863d2ee87a1f32ee93a39d681d4a7056
commit 7afab9f4863d2ee87a1f32ee93a39d681d4a7056
Merge: 0d4ba3c 686d101
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Feb 9 13:38:25 2015 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Feb 9 13:38:25 2015 -0500

    Merge topic 'export-interface-source-files' into next
    
    686d101f Add release notes for export-interface-source-files.
    2278346f Allow export of targets with INTERFACE_SOURCES.
    abded272 Tests: Move IfacePaths test stderr files.
    d9f8390d Tests: Run IfacePaths tests with a parameter.
    cc152094 Tests: Split part of include_directories test to a generic location.
    c0d8e715 RunCMake: Allow specifying the stderr file for a test.
    68d29f51 RunCMake: Allow specifying the directory to run tests in.
    1c3918ff RunCMake: Remove unneeded files.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=686d101fe28eda7850afe1c4db9d183f43991edb
commit 686d101fe28eda7850afe1c4db9d183f43991edb
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Thu Feb 5 20:40:51 2015 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Mon Feb 9 19:34:50 2015 +0100

    Add release notes for export-interface-source-files.

diff --git a/Help/release/dev/export-interface-source-files.rst b/Help/release/dev/export-interface-source-files.rst
new file mode 100644
index 0000000..00dcd25
--- /dev/null
+++ b/Help/release/dev/export-interface-source-files.rst
@@ -0,0 +1,6 @@
+export-interface-source-files
+-----------------------------
+
+* It is now possible to export targets which populate the
+  :prop_tgt:`INTERFACE_SOURCES` target property using the
+  :command:`install(EXPORT)` and :command:`export()` commands.

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2278346fce493a6dff5bbc0ae3234a560afc36ca
commit 2278346fce493a6dff5bbc0ae3234a560afc36ca
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Nov 28 18:58:38 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Mon Feb 9 19:34:50 2015 +0100

    Allow export of targets with INTERFACE_SOURCES.
    
    Use the same rules for paths in source and binary dirs in
    installed INTERFACE_SOURCES as are used for
    INTERFACE_INCLUDE_DIRECTORIES.

diff --git a/Help/command/target_sources.rst b/Help/command/target_sources.rst
index 832240a..d6f148d 100644
--- a/Help/command/target_sources.rst
+++ b/Help/command/target_sources.rst
@@ -22,10 +22,6 @@ items will populate the :prop_tgt:`SOURCES` property of
 following arguments specify sources.  Repeated calls for the same
 ``<target>`` append items in the order called.
 
-Targets with :prop_tgt:`INTERFACE_SOURCES` may not be exported with the
-:command:`export` or :command:`install(EXPORT)` commands. This limitation may be
-lifted in a future version of CMake.
-
 Arguments to ``target_sources`` may use "generator expressions"
 with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
 manual for available expressions.  See the :manual:`cmake-buildsystem(7)`
diff --git a/Help/prop_tgt/INTERFACE_SOURCES.rst b/Help/prop_tgt/INTERFACE_SOURCES.rst
index 696ee95..a224b68 100644
--- a/Help/prop_tgt/INTERFACE_SOURCES.rst
+++ b/Help/prop_tgt/INTERFACE_SOURCES.rst
@@ -12,10 +12,6 @@ When target dependencies are specified using :command:`target_link_libraries`,
 CMake will read this property from all target dependencies to determine the
 sources of the consumer.
 
-Targets with ``INTERFACE_SOURCES`` may not be exported with the
-:command:`export` or :command:`install(EXPORT)` commands. This limitation may be
-lifted in a future version of CMake.
-
 Contents of ``INTERFACE_SOURCES`` may use "generator expressions"
 with the syntax ``$<...>``.  See the :manual:`cmake-generator-expressions(7)`
 manual for available expressions.  See the :manual:`cmake-buildsystem(7)`
diff --git a/Source/cmExportBuildFileGenerator.cxx b/Source/cmExportBuildFileGenerator.cxx
index a28ec48..b1203dd 100644
--- a/Source/cmExportBuildFileGenerator.cxx
+++ b/Source/cmExportBuildFileGenerator.cxx
@@ -68,16 +68,6 @@ bool cmExportBuildFileGenerator::GenerateMainFile(std::ostream& os)
       tei != this->Exports.end(); ++tei)
     {
     cmTarget* te = *tei;
-    if (te->GetProperty("INTERFACE_SOURCES"))
-      {
-      std::ostringstream e;
-      e << "Target \""
-        << te->GetName()
-        << "\" has a populated INTERFACE_SOURCES property.  This is not "
-          "currently supported.";
-      cmSystemTools::Error(e.str().c_str());
-      return false;
-      }
     this->GenerateImportTargetCode(os, te);
 
     te->AppendBuildInterfaceIncludes();
@@ -87,6 +77,9 @@ bool cmExportBuildFileGenerator::GenerateMainFile(std::ostream& os)
     this->PopulateInterfaceProperty("INTERFACE_INCLUDE_DIRECTORIES", te,
                                     cmGeneratorExpression::BuildInterface,
                                     properties, missingTargets);
+    this->PopulateInterfaceProperty("INTERFACE_SOURCES", te,
+                                    cmGeneratorExpression::BuildInterface,
+                                    properties, missingTargets);
     this->PopulateInterfaceProperty("INTERFACE_COMPILE_DEFINITIONS", te,
                                     cmGeneratorExpression::BuildInterface,
                                     properties, missingTargets);
diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx
index af4ce8b..71728be 100644
--- a/Source/cmExportFileGenerator.cxx
+++ b/Source/cmExportFileGenerator.cxx
@@ -224,7 +224,7 @@ static bool isSubDirectory(const char* a, const char* b)
 
 //----------------------------------------------------------------------------
 static bool checkInterfaceDirs(const std::string &prepro,
-                      cmTarget *target)
+                      cmTarget *target, const std::string& prop)
 {
   const char* installDir =
             target->GetMakefile()->GetSafeDefinition("CMAKE_INSTALL_PREFIX");
@@ -250,20 +250,27 @@ static bool checkInterfaceDirs(const std::string &prepro,
     std::ostringstream e;
     if (genexPos != std::string::npos)
       {
-      switch (target->GetPolicyStatusCMP0041())
+      if (prop == "INTERFACE_INCLUDE_DIRECTORIES")
         {
-        case cmPolicies::WARN:
-          messageType = cmake::WARNING;
-          e << target->GetMakefile()->GetPolicies()
-                      ->GetPolicyWarning(cmPolicies::CMP0041) << "\n";
-          break;
-        case cmPolicies::OLD:
-          continue;
-        case cmPolicies::REQUIRED_IF_USED:
-        case cmPolicies::REQUIRED_ALWAYS:
-        case cmPolicies::NEW:
-          hadFatalError = true;
-          break; // Issue fatal message.
+        switch (target->GetPolicyStatusCMP0041())
+          {
+          case cmPolicies::WARN:
+            messageType = cmake::WARNING;
+            e << target->GetMakefile()->GetPolicies()
+                        ->GetPolicyWarning(cmPolicies::CMP0041) << "\n";
+            break;
+          case cmPolicies::OLD:
+            continue;
+          case cmPolicies::REQUIRED_IF_USED:
+          case cmPolicies::REQUIRED_ALWAYS:
+          case cmPolicies::NEW:
+            hadFatalError = true;
+            break; // Issue fatal message.
+          }
+        }
+      else
+        {
+        hadFatalError = true;
         }
       }
     if (cmHasLiteralPrefix(li->c_str(), "${_IMPORT_PREFIX}"))
@@ -272,8 +279,8 @@ static bool checkInterfaceDirs(const std::string &prepro,
       }
     if (!cmSystemTools::FileIsFullPath(li->c_str()))
       {
-      e << "Target \"" << target->GetName() << "\" "
-           "INTERFACE_INCLUDE_DIRECTORIES property contains relative path:\n"
+      e << "Target \"" << target->GetName() << "\" " << prop <<
+           " property contains relative path:\n"
            "  \"" << *li << "\"";
       target->GetMakefile()->IssueMessage(messageType, e.str());
       }
@@ -289,32 +296,35 @@ static bool checkInterfaceDirs(const std::string &prepro,
         (!inBinary || isSubDirectory(installDir, topBinaryDir)) &&
         (!inSource || isSubDirectory(installDir, topSourceDir));
 
-      if (!shouldContinue)
+      if (prop == "INTERFACE_INCLUDE_DIRECTORIES")
         {
-        switch(target->GetPolicyStatusCMP0052())
+        if (!shouldContinue)
           {
-          case cmPolicies::WARN:
+          switch(target->GetPolicyStatusCMP0052())
             {
-            std::ostringstream s;
-            s << target->GetMakefile()->GetPolicies()
-                      ->GetPolicyWarning(cmPolicies::CMP0052) << "\n";
-            s << "Directory:\n    \"" << *li << "\"\nin "
-              "INTERFACE_INCLUDE_DIRECTORIES of target \""
-              << target->GetName() << "\" is a subdirectory of the install "
-              "directory:\n    \"" << installDir << "\"\nhowever it is also "
-              "a subdirectory of the " << (inBinary ? "build" : "source")
-              << " tree:\n    \"" << (inBinary ? topBinaryDir : topSourceDir)
-              << "\"" << std::endl;
-            target->GetMakefile()->IssueMessage(cmake::AUTHOR_WARNING,
-                                                s.str());
+            case cmPolicies::WARN:
+              {
+              std::ostringstream s;
+              s << target->GetMakefile()->GetPolicies()
+                        ->GetPolicyWarning(cmPolicies::CMP0052) << "\n";
+              s << "Directory:\n    \"" << *li << "\"\nin "
+                "INTERFACE_INCLUDE_DIRECTORIES of target \""
+                << target->GetName() << "\" is a subdirectory of the install "
+                "directory:\n    \"" << installDir << "\"\nhowever it is also "
+                "a subdirectory of the " << (inBinary ? "build" : "source")
+                << " tree:\n    \"" << (inBinary ? topBinaryDir : topSourceDir)
+                << "\"" << std::endl;
+              target->GetMakefile()->IssueMessage(cmake::AUTHOR_WARNING,
+                                                  s.str());
+              }
+            case cmPolicies::OLD:
+              shouldContinue = true;
+              break;
+            case cmPolicies::REQUIRED_ALWAYS:
+            case cmPolicies::REQUIRED_IF_USED:
+            case cmPolicies::NEW:
+              break;
             }
-          case cmPolicies::OLD:
-            shouldContinue = true;
-            break;
-          case cmPolicies::REQUIRED_ALWAYS:
-          case cmPolicies::REQUIRED_IF_USED:
-          case cmPolicies::NEW:
-            break;
           }
         }
       if (shouldContinue)
@@ -324,8 +334,8 @@ static bool checkInterfaceDirs(const std::string &prepro,
       }
     if (inBinary)
       {
-      e << "Target \"" << target->GetName() << "\" "
-           "INTERFACE_INCLUDE_DIRECTORIES property contains path:\n"
+      e << "Target \"" << target->GetName() << "\" " << prop <<
+           " property contains path:\n"
            "  \"" << *li << "\"\nwhich is prefixed in the build directory.";
       target->GetMakefile()->IssueMessage(messageType, e.str());
       }
@@ -333,8 +343,8 @@ static bool checkInterfaceDirs(const std::string &prepro,
       {
       if (inSource)
         {
-        e << "Target \"" << target->GetName() << "\" "
-            "INTERFACE_INCLUDE_DIRECTORIES property contains path:\n"
+        e << "Target \"" << target->GetName() << "\" " << prop <<
+            " property contains path:\n"
             "  \"" << *li << "\"\nwhich is prefixed in the source directory.";
         target->GetMakefile()->IssueMessage(messageType, e.str());
         }
@@ -365,6 +375,46 @@ static void prefixItems(std::string &exportDirs)
 }
 
 //----------------------------------------------------------------------------
+void cmExportFileGenerator::PopulateSourcesInterface(
+                      cmTargetExport *tei,
+                      cmGeneratorExpression::PreprocessContext preprocessRule,
+                      ImportPropertyMap &properties,
+                      std::vector<std::string> &missingTargets)
+{
+  cmTarget *target = tei->Target;
+  assert(preprocessRule == cmGeneratorExpression::InstallInterface);
+
+  const char *propName = "INTERFACE_SOURCES";
+  const char *input = target->GetProperty(propName);
+
+  if (!input)
+    {
+    return;
+    }
+
+  if (!*input)
+    {
+    properties[propName] = "";
+    return;
+    }
+
+  std::string prepro = cmGeneratorExpression::Preprocess(input,
+                                                         preprocessRule,
+                                                         true);
+  if (!prepro.empty())
+    {
+    this->ResolveTargetsInGeneratorExpressions(prepro, target,
+                                                missingTargets);
+
+    if (!checkInterfaceDirs(prepro, target, propName))
+      {
+      return;
+      }
+    properties[propName] = prepro;
+    }
+}
+
+//----------------------------------------------------------------------------
 void cmExportFileGenerator::PopulateIncludeDirectoriesInterface(
                       cmTargetExport *tei,
                       cmGeneratorExpression::PreprocessContext preprocessRule,
@@ -424,7 +474,7 @@ void cmExportFileGenerator::PopulateIncludeDirectoriesInterface(
     this->ResolveTargetsInGeneratorExpressions(prepro, target,
                                                 missingTargets);
 
-    if (!checkInterfaceDirs(prepro, target))
+    if (!checkInterfaceDirs(prepro, target, propName))
       {
       return;
       }
diff --git a/Source/cmExportFileGenerator.h b/Source/cmExportFileGenerator.h
index 919924e..b6f4166 100644
--- a/Source/cmExportFileGenerator.h
+++ b/Source/cmExportFileGenerator.h
@@ -139,6 +139,11 @@ protected:
                       cmGeneratorExpression::PreprocessContext preprocessRule,
                       ImportPropertyMap &properties,
                       std::vector<std::string> &missingTargets);
+  void PopulateSourcesInterface(
+                      cmTargetExport *target,
+                      cmGeneratorExpression::PreprocessContext preprocessRule,
+                      ImportPropertyMap &properties,
+                      std::vector<std::string> &missingTargets);
 
   void SetImportLinkInterface(const std::string& config,
                     std::string const& suffix,
diff --git a/Source/cmExportInstallFileGenerator.cxx b/Source/cmExportInstallFileGenerator.cxx
index 98ed818..a0d9013 100644
--- a/Source/cmExportInstallFileGenerator.cxx
+++ b/Source/cmExportInstallFileGenerator.cxx
@@ -123,6 +123,7 @@ bool cmExportInstallFileGenerator::GenerateMainFile(std::ostream& os)
 
   bool require2_8_12 = false;
   bool require3_0_0 = false;
+  bool require3_1_0 = false;
   bool requiresConfigFiles = false;
   // Create all the imported targets.
   for(std::vector<cmTargetExport*>::const_iterator
@@ -131,17 +132,6 @@ bool cmExportInstallFileGenerator::GenerateMainFile(std::ostream& os)
     {
     cmTarget* te = (*tei)->Target;
 
-    if (te->GetProperty("INTERFACE_SOURCES"))
-      {
-      std::ostringstream e;
-      e << "Target \""
-        << te->GetName()
-        << "\" has a populated INTERFACE_SOURCES property.  This is not "
-          "currently supported.";
-      cmSystemTools::Error(e.str().c_str());
-      return false;
-      }
-
     requiresConfigFiles = requiresConfigFiles
                               || te->GetType() != cmTarget::INTERFACE_LIBRARY;
 
@@ -152,6 +142,9 @@ bool cmExportInstallFileGenerator::GenerateMainFile(std::ostream& os)
     this->PopulateIncludeDirectoriesInterface(*tei,
                                   cmGeneratorExpression::InstallInterface,
                                   properties, missingTargets);
+    this->PopulateSourcesInterface(*tei,
+                                  cmGeneratorExpression::InstallInterface,
+                                  properties, missingTargets);
     this->PopulateInterfaceProperty("INTERFACE_SYSTEM_INCLUDE_DIRECTORIES",
                                   te,
                                   cmGeneratorExpression::InstallInterface,
@@ -190,6 +183,13 @@ bool cmExportInstallFileGenerator::GenerateMainFile(std::ostream& os)
       {
       require3_0_0 = true;
       }
+    if(te->GetProperty("INTERFACE_SOURCES"))
+      {
+      // We can only generate INTERFACE_SOURCES in CMake 3.3, but CMake 3.1
+      // can consume them.
+      require3_1_0 = true;
+      }
+
     this->PopulateInterfaceProperty("INTERFACE_POSITION_INDEPENDENT_CODE",
                                   te, properties);
     this->PopulateCompatibleInterfaceProperties(te, properties);
@@ -197,7 +197,11 @@ bool cmExportInstallFileGenerator::GenerateMainFile(std::ostream& os)
     this->GenerateInterfaceProperties(te, os, properties);
     }
 
-  if (require3_0_0)
+  if (require3_1_0)
+    {
+    this->GenerateRequiredCMakeVersion(os, "3.1.0");
+    }
+  else if (require3_0_0)
     {
     this->GenerateRequiredCMakeVersion(os, "3.0.0");
     }
diff --git a/Tests/ExportImport/Export/Interface/CMakeLists.txt b/Tests/ExportImport/Export/Interface/CMakeLists.txt
index 523fc29..00a5375 100644
--- a/Tests/ExportImport/Export/Interface/CMakeLists.txt
+++ b/Tests/ExportImport/Export/Interface/CMakeLists.txt
@@ -29,7 +29,17 @@ target_compile_features(use_auto_type INTERFACE cxx_auto_type)
 add_library(use_c_restrict INTERFACE)
 target_compile_features(use_c_restrict INTERFACE c_restrict)
 
-install(TARGETS headeronly sharediface use_auto_type use_c_restrict
+add_library(source_target INTERFACE)
+target_sources(source_target INTERFACE
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/source_target.cpp>
+  $<INSTALL_INTERFACE:$<INSTALL_PREFIX>/src/source_target_for_install.cpp>
+)
+install(FILES
+  source_target_for_install.cpp
+  DESTINATION src
+)
+
+install(TARGETS headeronly sharediface use_auto_type use_c_restrict source_target
   EXPORT expInterface
 )
 install(TARGETS sharedlib
diff --git a/Tests/ExportImport/Export/Interface/source_target.cpp b/Tests/ExportImport/Export/Interface/source_target.cpp
new file mode 100644
index 0000000..037191c
--- /dev/null
+++ b/Tests/ExportImport/Export/Interface/source_target.cpp
@@ -0,0 +1,13 @@
+
+#ifndef USE_FROM_BUILD_DIR
+#error Expected define USE_FROM_BUILD_DIR
+#endif
+
+#ifdef USE_FROM_INSTALL_DIR
+#error Unexpected define USE_FROM_INSTALL_DIR
+#endif
+
+int source_symbol()
+{
+  return 42;
+}
diff --git a/Tests/ExportImport/Export/Interface/source_target_for_install.cpp b/Tests/ExportImport/Export/Interface/source_target_for_install.cpp
new file mode 100644
index 0000000..64514ed
--- /dev/null
+++ b/Tests/ExportImport/Export/Interface/source_target_for_install.cpp
@@ -0,0 +1,13 @@
+
+#ifdef USE_FROM_BUILD_DIR
+#error Unexpected define USE_FROM_BUILD_DIR
+#endif
+
+#ifndef USE_FROM_INSTALL_DIR
+#error Expected define USE_FROM_INSTALL_DIR
+#endif
+
+int source_symbol()
+{
+  return 42;
+}
diff --git a/Tests/ExportImport/Import/Interface/CMakeLists.txt b/Tests/ExportImport/Import/Interface/CMakeLists.txt
index 4028405..51d518e 100644
--- a/Tests/ExportImport/Import/Interface/CMakeLists.txt
+++ b/Tests/ExportImport/Import/Interface/CMakeLists.txt
@@ -82,6 +82,14 @@ endmacro()
 
 do_try_compile(bld)
 
+add_executable(source_target_test_bld source_target_test.cpp)
+target_link_libraries(source_target_test_bld bld::source_target)
+target_compile_definitions(source_target_test_bld PRIVATE USE_FROM_BUILD_DIR)
+
+add_executable(source_target_test_exp source_target_test.cpp)
+target_link_libraries(source_target_test_exp exp::source_target)
+target_compile_definitions(source_target_test_exp PRIVATE USE_FROM_INSTALL_DIR)
+
 add_executable(headeronlytest_exp headeronlytest.cpp)
 target_link_libraries(headeronlytest_exp exp::headeronly)
 
diff --git a/Tests/ExportImport/Import/Interface/source_target_test.cpp b/Tests/ExportImport/Import/Interface/source_target_test.cpp
new file mode 100644
index 0000000..0e8ec5f
--- /dev/null
+++ b/Tests/ExportImport/Import/Interface/source_target_test.cpp
@@ -0,0 +1,7 @@
+
+extern int source_symbol();
+
+int main()
+{
+  return source_symbol() - 42;
+}
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 71507b8..2de82a7 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -192,6 +192,9 @@ add_RunCMake_test(ExternalProject)
 set(IfacePaths_INCLUDE_DIRECTORIES_ARGS -DTEST_PROP=INCLUDE_DIRECTORIES)
 add_RunCMake_test(IfacePaths_INCLUDE_DIRECTORIES TEST_DIR IfacePaths)
 
+set(IfacePaths_SOURCES_ARGS -DTEST_PROP=SOURCES)
+add_RunCMake_test(IfacePaths_SOURCES TEST_DIR IfacePaths)
+
 if(RPMBUILD)
   add_RunCMake_test(CPackRPM)
 endif()
diff --git a/Tests/RunCMake/TargetSources/ExportInstall-result.txt b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-result.txt
similarity index 100%
rename from Tests/RunCMake/TargetSources/ExportInstall-result.txt
rename to Tests/RunCMake/IfacePaths/BinInInstallPrefix-result.txt
diff --git a/Tests/RunCMake/IfacePaths/BinInInstallPrefix-stderr_SOURCES.txt b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-stderr_SOURCES.txt
new file mode 100644
index 0000000..239c069
--- /dev/null
+++ b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-stderr_SOURCES.txt
@@ -0,0 +1,6 @@
+CMake Error in CMakeLists.txt:
+  Target "testTarget" INTERFACE_SOURCES property contains path:
+
+    ".*Tests/RunCMake/IfacePaths_SOURCES/prefix/BinInInstallPrefix-build/empty.cpp"
+
+  which is prefixed in the build directory.
diff --git a/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr_SOURCES.txt b/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr_SOURCES.txt
new file mode 100644
index 0000000..e931a01
--- /dev/null
+++ b/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr_SOURCES.txt
@@ -0,0 +1,6 @@
+CMake Error in CMakeLists.txt:
+  Target "testTarget" INTERFACE_SOURCES property contains path:
+
+    ".*Tests/RunCMake/IfacePaths_SOURCES/BinaryDirectoryInInterface-build/empty.cpp"
+
+  which is prefixed in the build directory.
diff --git a/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface.cmake b/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface.cmake
index 67ee7de..7001f3f 100644
--- a/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface.cmake
+++ b/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface.cmake
@@ -2,7 +2,11 @@
 enable_language(CXX)
 
 add_library(testTarget "${CMAKE_CURRENT_SOURCE_DIR}/empty.cpp")
-target_include_directories(testTarget INTERFACE "${CMAKE_CURRENT_BINARY_DIR}/foo")
+if (TEST_PROP STREQUAL INCLUDE_DIRECTORIES)
+  set_property(TARGET testTarget PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/foo")
+else()
+  set_property(TARGET testTarget PROPERTY INTERFACE_SOURCES "${CMAKE_CURRENT_BINARY_DIR}/empty.cpp")
+endif()
 
 install(TARGETS testTarget EXPORT testTargets
   DESTINATION lib
diff --git a/Tests/RunCMake/IfacePaths/DirInInstallPrefix.cmake b/Tests/RunCMake/IfacePaths/DirInInstallPrefix.cmake
index fab7717..f5f3005 100644
--- a/Tests/RunCMake/IfacePaths/DirInInstallPrefix.cmake
+++ b/Tests/RunCMake/IfacePaths/DirInInstallPrefix.cmake
@@ -1,6 +1,11 @@
 enable_language(CXX)
 add_library(testTarget empty.cpp)
-target_include_directories(testTarget INTERFACE "${CMAKE_INSTALL_PREFIX}/dir")
+
+if (TEST_PROP STREQUAL INCLUDE_DIRECTORIES)
+  set_property(TARGET testTarget PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/dir")
+else()
+  set_property(TARGET testTarget PROPERTY INTERFACE_SOURCES "${CMAKE_INSTALL_PREFIX}/empty.cpp")
+endif()
 
 install(TARGETS testTarget EXPORT testTargets
   DESTINATION lib
diff --git a/Tests/RunCMake/IfacePaths/InstallInBinDir-stderr_SOURCES.txt b/Tests/RunCMake/IfacePaths/InstallInBinDir-stderr_SOURCES.txt
new file mode 100644
index 0000000..c79d598
--- /dev/null
+++ b/Tests/RunCMake/IfacePaths/InstallInBinDir-stderr_SOURCES.txt
@@ -0,0 +1,6 @@
+CMake Error in CMakeLists.txt:
+  Target "testTarget" INTERFACE_SOURCES property contains path:
+
+    ".*Tests/RunCMake/IfacePaths_SOURCES/InstallInBinDir-build/empty.cpp"
+
+  which is prefixed in the build directory.
diff --git a/Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr_SOURCES.txt b/Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr_SOURCES.txt
new file mode 100644
index 0000000..e71921e
--- /dev/null
+++ b/Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr_SOURCES.txt
@@ -0,0 +1,6 @@
+CMake Error in CMakeLists.txt:
+  Target "testTarget" INTERFACE_SOURCES property contains path:
+
+    ".*Tests/RunCMake/IfacePaths_SOURCES/copy/empty.cpp"
+
+  which is prefixed in the source directory.
diff --git a/Tests/RunCMake/IfacePaths/RelativePathInGenex-stderr_SOURCES.txt b/Tests/RunCMake/IfacePaths/RelativePathInGenex-stderr_SOURCES.txt
new file mode 100644
index 0000000..2311af9
--- /dev/null
+++ b/Tests/RunCMake/IfacePaths/RelativePathInGenex-stderr_SOURCES.txt
@@ -0,0 +1,4 @@
+CMake Error in CMakeLists.txt:
+  Target "testTarget" contains relative path in its INTERFACE_SOURCES:
+
+    "empty.cpp"
diff --git a/Tests/RunCMake/IfacePaths/RelativePathInGenex.cmake b/Tests/RunCMake/IfacePaths/RelativePathInGenex.cmake
index 070a381..489c3a1 100644
--- a/Tests/RunCMake/IfacePaths/RelativePathInGenex.cmake
+++ b/Tests/RunCMake/IfacePaths/RelativePathInGenex.cmake
@@ -2,7 +2,12 @@
 enable_language(CXX)
 
 add_library(testTarget "${CMAKE_CURRENT_SOURCE_DIR}/empty.cpp")
-set_property(TARGET testTarget PROPERTY INTERFACE_INCLUDE_DIRECTORIES "$<1:foo>")
+
+if (TEST_PROP STREQUAL INCLUDE_DIRECTORIES)
+  set_property(TARGET testTarget PROPERTY INTERFACE_INCLUDE_DIRECTORIES "$<1:foo>")
+else()
+  set_property(TARGET testTarget PROPERTY INTERFACE_SOURCES "$<1:empty.cpp>")
+endif()
 
 add_library(userTarget "${CMAKE_CURRENT_SOURCE_DIR}/empty.cpp")
 target_link_libraries(userTarget testTarget)
diff --git a/Tests/RunCMake/IfacePaths/RelativePathInInterface-stderr_SOURCES.txt b/Tests/RunCMake/IfacePaths/RelativePathInInterface-stderr_SOURCES.txt
new file mode 100644
index 0000000..f0f002c
--- /dev/null
+++ b/Tests/RunCMake/IfacePaths/RelativePathInInterface-stderr_SOURCES.txt
@@ -0,0 +1,4 @@
+CMake Error in CMakeLists.txt:
+  Target "testTarget" INTERFACE_SOURCES property contains relative path:
+
+    "empty.cpp"
diff --git a/Tests/RunCMake/IfacePaths/RelativePathInInterface.cmake b/Tests/RunCMake/IfacePaths/RelativePathInInterface.cmake
index 4c4727d..e974aac 100644
--- a/Tests/RunCMake/IfacePaths/RelativePathInInterface.cmake
+++ b/Tests/RunCMake/IfacePaths/RelativePathInInterface.cmake
@@ -2,8 +2,11 @@
 enable_language(CXX)
 
 add_library(testTarget "${CMAKE_CURRENT_SOURCE_DIR}/empty.cpp")
-set_property(TARGET testTarget PROPERTY INTERFACE_INCLUDE_DIRECTORIES "foo")
-
+if (TEST_PROP STREQUAL INCLUDE_DIRECTORIES)
+  set_property(TARGET testTarget PROPERTY INTERFACE_INCLUDE_DIRECTORIES "foo")
+else()
+  set_property(TARGET testTarget PROPERTY INTERFACE_SOURCES "empty.cpp")
+endif()
 install(TARGETS testTarget EXPORT testTargets
   DESTINATION lib
 )
diff --git a/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-stderr_SOURCES.txt b/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-stderr_SOURCES.txt
new file mode 100644
index 0000000..c5157ad
--- /dev/null
+++ b/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-stderr_SOURCES.txt
@@ -0,0 +1,6 @@
+CMake Error in CMakeLists.txt:
+  Target "testTarget" INTERFACE_SOURCES property contains path:
+
+    ".*Tests/RunCMake/IfacePaths/empty.cpp"
+
+  which is prefixed in the source directory.
diff --git a/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface.cmake b/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface.cmake
index f814a3c..d80cbec 100644
--- a/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface.cmake
+++ b/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface.cmake
@@ -2,7 +2,11 @@
 enable_language(CXX)
 
 add_library(testTarget "${CMAKE_CURRENT_SOURCE_DIR}/empty.cpp")
-target_include_directories(testTarget INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/foo")
+if (TEST_PROP STREQUAL INCLUDE_DIRECTORIES)
+  set_property(TARGET testTarget PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/foo")
+else()
+  set_property(TARGET testTarget PROPERTY INTERFACE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/empty.cpp")
+endif()
 
 install(TARGETS testTarget EXPORT testTargets
   DESTINATION lib
diff --git a/Tests/RunCMake/TargetSources/ExportBuild-result.txt b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-result.txt
similarity index 100%
copy from Tests/RunCMake/TargetSources/ExportBuild-result.txt
copy to Tests/RunCMake/IfacePaths/SrcInInstallPrefix-result.txt
diff --git a/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-stderr_SOURCES.txt b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-stderr_SOURCES.txt
new file mode 100644
index 0000000..48f2485
--- /dev/null
+++ b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-stderr_SOURCES.txt
@@ -0,0 +1,6 @@
+CMake Error in CMakeLists.txt:
+  Target "testTarget" INTERFACE_SOURCES property contains path:
+
+    ".*Tests/RunCMake/IfacePaths_SOURCES/prefix/src/empty.cpp"
+
+  which is prefixed in the source directory.
diff --git a/Tests/RunCMake/IfacePaths/export-NOWARN.cmake b/Tests/RunCMake/IfacePaths/export-NOWARN.cmake
index 50720a0..592572c 100644
--- a/Tests/RunCMake/IfacePaths/export-NOWARN.cmake
+++ b/Tests/RunCMake/IfacePaths/export-NOWARN.cmake
@@ -1,19 +1,34 @@
 enable_language(CXX)
 add_library(foo empty.cpp)
+
 set_property(TARGET foo APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $<0:>/include/subdir)
 set_property(TARGET foo APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $<INSTALL_PREFIX>/include/subdir)
+set_property(TARGET foo APPEND PROPERTY INTERFACE_SOURCES $<0:>/include/subdir/empty.cpp)
+set_property(TARGET foo APPEND PROPERTY INTERFACE_SOURCES $<INSTALL_PREFIX>/include/subdir/empty.cpp)
 
 set_property(TARGET foo APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/subdir>)
 set_property(TARGET foo APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $<INSTALL_INTERFACE:include/subdir>)
 set_property(TARGET foo APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $<INSTALL_INTERFACE:include/$<0:>>)
 set_property(TARGET foo APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $<INSTALL_INTERFACE:$<0:>/include>)
+set_property(TARGET foo APPEND PROPERTY INTERFACE_SOURCES $<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include/subdir/empty.cpp>)
+set_property(TARGET foo APPEND PROPERTY INTERFACE_SOURCES $<INSTALL_INTERFACE:include/subdir/empty.cpp>)
+set_property(TARGET foo APPEND PROPERTY INTERFACE_SOURCES $<INSTALL_INTERFACE:include/subdir/empty.cpp$<0:>>)
+set_property(TARGET foo APPEND PROPERTY INTERFACE_SOURCES $<INSTALL_INTERFACE:$<0:>/include/subdir/empty.cpp>)
 
 # target_include_directories(foo INTERFACE include/subdir) # Does and should warn. INSTALL_INTERFACE must not list src dir paths.
 target_include_directories(foo INTERFACE $<0:>/include/subdir) # Does not and should not should warn, because it starts with a genex.
 target_include_directories(foo INTERFACE $<INSTALL_PREFIX>/include/subdir)
+target_sources(foo INTERFACE $<0:>/include/subdir/empty.cpp)
+target_sources(foo INTERFACE $<INSTALL_PREFIX>/include/subdir/empty.cpp)
 
 target_include_directories(foo INTERFACE $<INSTALL_INTERFACE:include/subdir>)
 target_include_directories(foo INTERFACE $<INSTALL_INTERFACE:include/$<0:>>)
+target_sources(foo INTERFACE $<INSTALL_INTERFACE:include/subdir/empty.cpp>)
+target_sources(foo INTERFACE $<INSTALL_INTERFACE:include/subdir/empty.cpp$<0:>>)
+
+install(FILES include/subdir/empty.cpp
+  DESTINATION include/subdir
+)
 
 install(TARGETS foo EXPORT FooTargets DESTINATION lib)
 install(EXPORT FooTargets DESTINATION lib/cmake)
diff --git a/Tests/RunCMake/TargetSources/ExportBuild-result.txt b/Tests/RunCMake/TargetSources/ExportBuild-result.txt
index d00491f..573541a 100644
--- a/Tests/RunCMake/TargetSources/ExportBuild-result.txt
+++ b/Tests/RunCMake/TargetSources/ExportBuild-result.txt
@@ -1 +1 @@
-1
+0
diff --git a/Tests/RunCMake/TargetSources/ExportBuild-stderr.txt b/Tests/RunCMake/TargetSources/ExportBuild-stderr.txt
deleted file mode 100644
index 0d65a55..0000000
--- a/Tests/RunCMake/TargetSources/ExportBuild-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-CMake Error: Target "iface" has a populated INTERFACE_SOURCES property.  This is not currently supported.
diff --git a/Tests/RunCMake/TargetSources/ExportInstall-stderr.txt b/Tests/RunCMake/TargetSources/ExportInstall-stderr.txt
deleted file mode 100644
index 0d65a55..0000000
--- a/Tests/RunCMake/TargetSources/ExportInstall-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-CMake Error: Target "iface" has a populated INTERFACE_SOURCES property.  This is not currently supported.
diff --git a/Tests/RunCMake/TargetSources/ExportInstall.cmake b/Tests/RunCMake/TargetSources/ExportInstall.cmake
deleted file mode 100644
index 8e7c9f9..0000000
--- a/Tests/RunCMake/TargetSources/ExportInstall.cmake
+++ /dev/null
@@ -1,6 +0,0 @@
-
-add_library(iface INTERFACE)
-target_sources(iface INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/empty_1.cpp")
-
-install(TARGETS iface EXPORT exp)
-install(EXPORT exp DESTINATION cmake)
diff --git a/Tests/RunCMake/TargetSources/RunCMakeTest.cmake b/Tests/RunCMake/TargetSources/RunCMakeTest.cmake
index 1b4ef0b..4416ef9 100644
--- a/Tests/RunCMake/TargetSources/RunCMakeTest.cmake
+++ b/Tests/RunCMake/TargetSources/RunCMakeTest.cmake
@@ -10,4 +10,3 @@ endif()
 run_cmake(CMP0026-LOCATION)
 run_cmake(RelativePathInInterface)
 run_cmake(ExportBuild)
-run_cmake(ExportInstall)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=abded27208623ebd45e2ce66ab0ba36c40ccae58
commit abded27208623ebd45e2ce66ab0ba36c40ccae58
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Nov 30 13:54:18 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Mon Feb 9 19:34:39 2015 +0100

    Tests: Move IfacePaths test stderr files.
    
    Rename the files with a property-specific name, so that additional
    properties can be easily tested.
    
    Extend the RunCMake infrastructure to allow specifying a non-uniform
    stderr file location.

diff --git a/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-stderr.txt b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-stderr_INCLUDE_DIRECTORIES.txt
similarity index 100%
rename from Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-stderr.txt
rename to Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-stderr_INCLUDE_DIRECTORIES.txt
diff --git a/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-stderr.txt b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-stderr_INCLUDE_DIRECTORIES.txt
similarity index 100%
rename from Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-stderr.txt
rename to Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-stderr_INCLUDE_DIRECTORIES.txt
diff --git a/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr.txt b/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr_INCLUDE_DIRECTORIES.txt
similarity index 100%
rename from Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr.txt
rename to Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr_INCLUDE_DIRECTORIES.txt
diff --git a/Tests/RunCMake/IfacePaths/InstallInBinDir-stderr.txt b/Tests/RunCMake/IfacePaths/InstallInBinDir-stderr_INCLUDE_DIRECTORIES.txt
similarity index 100%
rename from Tests/RunCMake/IfacePaths/InstallInBinDir-stderr.txt
rename to Tests/RunCMake/IfacePaths/InstallInBinDir-stderr_INCLUDE_DIRECTORIES.txt
diff --git a/Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr.txt b/Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr_INCLUDE_DIRECTORIES.txt
similarity index 100%
rename from Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr.txt
rename to Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr_INCLUDE_DIRECTORIES.txt
diff --git a/Tests/RunCMake/IfacePaths/RelativePathInGenex-stderr.txt b/Tests/RunCMake/IfacePaths/RelativePathInGenex-stderr_INCLUDE_DIRECTORIES.txt
similarity index 100%
rename from Tests/RunCMake/IfacePaths/RelativePathInGenex-stderr.txt
rename to Tests/RunCMake/IfacePaths/RelativePathInGenex-stderr_INCLUDE_DIRECTORIES.txt
diff --git a/Tests/RunCMake/IfacePaths/RelativePathInInterface-stderr.txt b/Tests/RunCMake/IfacePaths/RelativePathInInterface-stderr_INCLUDE_DIRECTORIES.txt
similarity index 100%
rename from Tests/RunCMake/IfacePaths/RelativePathInInterface-stderr.txt
rename to Tests/RunCMake/IfacePaths/RelativePathInInterface-stderr_INCLUDE_DIRECTORIES.txt
diff --git a/Tests/RunCMake/IfacePaths/RunCMakeTest.cmake b/Tests/RunCMake/IfacePaths/RunCMakeTest.cmake
index 8febf18..489e3df 100644
--- a/Tests/RunCMake/IfacePaths/RunCMakeTest.cmake
+++ b/Tests/RunCMake/IfacePaths/RunCMakeTest.cmake
@@ -2,6 +2,7 @@ include(RunCMake)
 
 macro(run_cmake test)
   list(APPEND RunCMake_TEST_OPTIONS -DTEST_PROP=${TEST_PROP})
+  set(RunCMake-stderr-file ${test}-stderr_${TEST_PROP}.txt)
   _run_cmake(${test})
 endmacro()
 
diff --git a/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-stderr.txt b/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-stderr_INCLUDE_DIRECTORIES.txt
similarity index 100%
rename from Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-stderr.txt
rename to Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-stderr_INCLUDE_DIRECTORIES.txt
diff --git a/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-stderr.txt b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-stderr_INCLUDE_DIRECTORIES.txt
similarity index 100%
rename from Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-stderr.txt
rename to Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-stderr_INCLUDE_DIRECTORIES.txt
diff --git a/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-stderr.txt b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-stderr_INCLUDE_DIRECTORIES.txt
similarity index 100%
rename from Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-stderr.txt
rename to Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-stderr_INCLUDE_DIRECTORIES.txt

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d9f8390db6ab0d776eb39b840a3b096b5422229f
commit d9f8390db6ab0d776eb39b840a3b096b5422229f
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Nov 30 13:42:00 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Mon Feb 9 19:34:27 2015 +0100

    Tests: Run IfacePaths tests with a parameter.
    
    Run the tests for the INCLUDE_DIRECTORIES INTERFACE property
    in a specific build location, and update the stderr expectation
    to match the new output.

diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 3645735..71507b8 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -188,7 +188,9 @@ add_RunCMake_test(CommandLine)
 add_RunCMake_test(install)
 add_RunCMake_test(CPackInstallProperties)
 add_RunCMake_test(ExternalProject)
-add_RunCMake_test(IfacePaths)
+
+set(IfacePaths_INCLUDE_DIRECTORIES_ARGS -DTEST_PROP=INCLUDE_DIRECTORIES)
+add_RunCMake_test(IfacePaths_INCLUDE_DIRECTORIES TEST_DIR IfacePaths)
 
 if(RPMBUILD)
   add_RunCMake_test(CPackRPM)
diff --git a/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-stderr.txt b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-stderr.txt
index 09d225f..f2d749b 100644
--- a/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-stderr.txt
@@ -1,6 +1,6 @@
 CMake Error in CMakeLists.txt:
   Target "testTarget" INTERFACE_INCLUDE_DIRECTORIES property contains path:
 
-    ".*Tests/RunCMake/IfacePaths/prefix/BinInInstallPrefix-CMP0052-NEW-build/foo"
+    ".*Tests/RunCMake/IfacePaths_INCLUDE_DIRECTORIES/prefix/BinInInstallPrefix-CMP0052-NEW-build/foo"
 
   which is prefixed in the build directory.
diff --git a/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-stderr.txt b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-stderr.txt
index 6c3a122..3d83892 100644
--- a/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-stderr.txt
@@ -6,15 +6,15 @@ CMake Warning \(dev\) in CMakeLists.txt:
 
   Directory:
 
-      ".*Tests/RunCMake/IfacePaths/prefix/BinInInstallPrefix-CMP0052-WARN-build/foo"
+      ".*Tests/RunCMake/IfacePaths_INCLUDE_DIRECTORIES/prefix/BinInInstallPrefix-CMP0052-WARN-build/foo"
 
   in INTERFACE_INCLUDE_DIRECTORIES of target "testTarget" is a subdirectory
   of the install directory:
 
-      ".*Tests/RunCMake/IfacePaths/prefix"
+      ".*Tests/RunCMake/IfacePaths_INCLUDE_DIRECTORIES/prefix"
 
   however it is also a subdirectory of the build tree:
 
-      ".*Tests/RunCMake/IfacePaths/prefix/BinInInstallPrefix-CMP0052-WARN-build"
+      ".*Tests/RunCMake/IfacePaths_INCLUDE_DIRECTORIES/prefix/BinInInstallPrefix-CMP0052-WARN-build"
 
 This warning is for project developers.  Use -Wno-dev to suppress it.
diff --git a/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr.txt b/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr.txt
index cb2cba4..ed7cd58 100644
--- a/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr.txt
@@ -1,6 +1,6 @@
 CMake Error in CMakeLists.txt:
   Target "testTarget" INTERFACE_INCLUDE_DIRECTORIES property contains path:
 
-    ".*RunCMake/IfacePaths/BinaryDirectoryInInterface-build/foo"
+    ".*RunCMake/IfacePaths_INCLUDE_DIRECTORIES/BinaryDirectoryInInterface-build/foo"
 
   which is prefixed in the build directory.
diff --git a/Tests/RunCMake/IfacePaths/InstallInBinDir-stderr.txt b/Tests/RunCMake/IfacePaths/InstallInBinDir-stderr.txt
index c71b375..3d60831 100644
--- a/Tests/RunCMake/IfacePaths/InstallInBinDir-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/InstallInBinDir-stderr.txt
@@ -1,6 +1,6 @@
 CMake Error in CMakeLists.txt:
   Target "testTarget" INTERFACE_INCLUDE_DIRECTORIES property contains path:
 
-    ".*Tests/RunCMake/IfacePaths/InstallInBinDir-build/foo"
+    ".*Tests/RunCMake/IfacePaths_INCLUDE_DIRECTORIES/InstallInBinDir-build/foo"
 
   which is prefixed in the build directory.
diff --git a/Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr.txt b/Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr.txt
index 526ef61..11994dd 100644
--- a/Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr.txt
@@ -1,6 +1,6 @@
 CMake Error in CMakeLists.txt:
   Target "testTarget" INTERFACE_INCLUDE_DIRECTORIES property contains path:
 
-    ".*Tests/RunCMake/IfacePaths/copy/foo"
+    ".*Tests/RunCMake/IfacePaths_INCLUDE_DIRECTORIES/copy/foo"
 
   which is prefixed in the source directory.
diff --git a/Tests/RunCMake/IfacePaths/RunCMakeTest.cmake b/Tests/RunCMake/IfacePaths/RunCMakeTest.cmake
index 4c9a703..8febf18 100644
--- a/Tests/RunCMake/IfacePaths/RunCMakeTest.cmake
+++ b/Tests/RunCMake/IfacePaths/RunCMakeTest.cmake
@@ -1,5 +1,10 @@
 include(RunCMake)
 
+macro(run_cmake test)
+  list(APPEND RunCMake_TEST_OPTIONS -DTEST_PROP=${TEST_PROP})
+  _run_cmake(${test})
+endmacro()
+
 run_cmake(RelativePathInInterface)
 run_cmake(RelativePathInGenex)
 run_cmake(export-NOWARN)
@@ -57,12 +62,15 @@ configure_file(
   COPYONLY
 )
 
-foreach(policyStatus "" NEW OLD)
-  if (NOT "${policyStatus}" STREQUAL "")
-    set(policyOption -DCMAKE_POLICY_DEFAULT_CMP0052=${policyStatus})
-  else()
-    unset(policyOption)
-    set(policyStatus WARN)
+foreach(policyStatus NEW OLD "")
+  if (TEST_PROP STREQUAL INCLUDE_DIRECTORIES)
+    if (NOT "${policyStatus}" STREQUAL "")
+      set(policyOption -DCMAKE_POLICY_DEFAULT_CMP0052=${policyStatus})
+    else()
+      unset(policyOption)
+      set(policyStatus WARN)
+    endif()
+    set(policySuffix -CMP0052-${policyStatus})
   endif()
   set(RunCMake_TEST_OPTIONS
     "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/prefix" ${policyOption}
@@ -73,16 +81,20 @@ foreach(policyStatus "" NEW OLD)
   # a subdirectory or the source directory, which is allowed and tested separately
   # below.
   set(RunCMake_TEST_SOURCE_DIR "${RunCMake_BINARY_DIR}/prefix/src")
-  set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/prefix/BinInInstallPrefix-CMP0052-${policyStatus}-build")
-  run_cmake(BinInInstallPrefix-CMP0052-${policyStatus})
+  set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/prefix/BinInInstallPrefix${policySuffix}-build")
+  run_cmake(BinInInstallPrefix${policySuffix})
   unset(RunCMake_TEST_BINARY_DIR)
 
   set(RunCMake_TEST_OPTIONS
     "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/prefix" ${policyOption}
     "-DTEST_FILE=${RunCMake_BINARY_DIR}/prefix/src/SourceDirectoryInInterface.cmake"
     )
-  run_cmake(SrcInInstallPrefix-CMP0052-${policyStatus})
+  run_cmake(SrcInInstallPrefix${policySuffix})
   unset(RunCMake_TEST_SOURCE_DIR)
+
+  if (NOT TEST_PROP STREQUAL INCLUDE_DIRECTORIES)
+    break()
+  endif()
 endforeach()
 
 set(RunCMake_TEST_OPTIONS "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/InstallPrefixInInterface-build/prefix")
diff --git a/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-stderr.txt b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-stderr.txt
index ab95537..ed5df34 100644
--- a/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-stderr.txt
@@ -1,6 +1,6 @@
 CMake Error in CMakeLists.txt:
   Target "testTarget" INTERFACE_INCLUDE_DIRECTORIES property contains path:
 
-    ".*Tests/RunCMake/IfacePaths/prefix/src/foo"
+    ".*Tests/RunCMake/IfacePaths_INCLUDE_DIRECTORIES/prefix/src/foo"
 
   which is prefixed in the source directory.
diff --git a/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-stderr.txt b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-stderr.txt
index 23683e8..cb5a51c 100644
--- a/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-stderr.txt
@@ -6,15 +6,15 @@ CMake Warning \(dev\) in CMakeLists.txt:
 
   Directory:
 
-      ".*Tests/RunCMake/IfacePaths/prefix/src/foo"
+      ".*Tests/RunCMake/IfacePaths_INCLUDE_DIRECTORIES/prefix/src/foo"
 
   in INTERFACE_INCLUDE_DIRECTORIES of target "testTarget" is a subdirectory
   of the install directory:
 
-      ".*Tests/RunCMake/IfacePaths/prefix"
+      ".*Tests/RunCMake/IfacePaths_INCLUDE_DIRECTORIES/prefix"
 
   however it is also a subdirectory of the source tree:
 
-      ".*Tests/RunCMake/IfacePaths/prefix/src"
+      ".*Tests/RunCMake/IfacePaths_INCLUDE_DIRECTORIES/prefix/src"
 
 This warning is for project developers.  Use -Wno-dev to suppress it.

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cc1520947608f5224a4fdfa94b5cb07e19e23600
commit cc1520947608f5224a4fdfa94b5cb07e19e23600
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Nov 30 13:20:32 2014 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Mon Feb 9 19:23:47 2015 +0100

    Tests: Split part of include_directories test to a generic location.
    
    The moved tests are related to paths in INTERFACE_INCLUDE_DIRECTORIES
    in general, and when exporting, and covering cases of the install
    location being within the build or source prefix etc.  Other build
    properties containing paths should have similar tests, so this
    allows some parameterization while keeping the preparation of the
    various directory structures.

diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 2973fe9..3645735 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -188,6 +188,7 @@ add_RunCMake_test(CommandLine)
 add_RunCMake_test(install)
 add_RunCMake_test(CPackInstallProperties)
 add_RunCMake_test(ExternalProject)
+add_RunCMake_test(IfacePaths)
 
 if(RPMBUILD)
   add_RunCMake_test(CPackRPM)
diff --git a/Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-NEW-result.txt b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-NEW-result.txt
rename to Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-result.txt
diff --git a/Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-NEW-stderr.txt b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-stderr.txt
similarity index 62%
rename from Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-NEW-stderr.txt
rename to Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-stderr.txt
index f0adc9f..09d225f 100644
--- a/Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-NEW-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-NEW-stderr.txt
@@ -1,6 +1,6 @@
 CMake Error in CMakeLists.txt:
   Target "testTarget" INTERFACE_INCLUDE_DIRECTORIES property contains path:
 
-    ".*Tests/RunCMake/include_directories/prefix/BinInInstallPrefix-CMP0052-NEW-build/foo"
+    ".*Tests/RunCMake/IfacePaths/prefix/BinInInstallPrefix-CMP0052-NEW-build/foo"
 
   which is prefixed in the build directory.
diff --git a/Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-OLD-result.txt b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-OLD-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-OLD-result.txt
rename to Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-OLD-result.txt
diff --git a/Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-WARN-result.txt b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-WARN-result.txt
rename to Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-result.txt
diff --git a/Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-WARN-stderr.txt b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-stderr.txt
similarity index 69%
rename from Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-WARN-stderr.txt
rename to Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-stderr.txt
index 054bff5..6c3a122 100644
--- a/Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-WARN-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/BinInInstallPrefix-CMP0052-WARN-stderr.txt
@@ -6,15 +6,15 @@ CMake Warning \(dev\) in CMakeLists.txt:
 
   Directory:
 
-      ".*Tests/RunCMake/include_directories/prefix/BinInInstallPrefix-CMP0052-WARN-build/foo"
+      ".*Tests/RunCMake/IfacePaths/prefix/BinInInstallPrefix-CMP0052-WARN-build/foo"
 
   in INTERFACE_INCLUDE_DIRECTORIES of target "testTarget" is a subdirectory
   of the install directory:
 
-      ".*Tests/RunCMake/include_directories/prefix"
+      ".*Tests/RunCMake/IfacePaths/prefix"
 
   however it is also a subdirectory of the build tree:
 
-      ".*Tests/RunCMake/include_directories/prefix/BinInInstallPrefix-CMP0052-WARN-build"
+      ".*Tests/RunCMake/IfacePaths/prefix/BinInInstallPrefix-CMP0052-WARN-build"
 
 This warning is for project developers.  Use -Wno-dev to suppress it.
diff --git a/Tests/RunCMake/include_directories/BinaryDirectoryInInterface-result.txt b/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/BinaryDirectoryInInterface-result.txt
rename to Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-result.txt
diff --git a/Tests/RunCMake/include_directories/BinaryDirectoryInInterface-stderr.txt b/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr.txt
similarity index 67%
rename from Tests/RunCMake/include_directories/BinaryDirectoryInInterface-stderr.txt
rename to Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr.txt
index 0d4379e..cb2cba4 100644
--- a/Tests/RunCMake/include_directories/BinaryDirectoryInInterface-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr.txt
@@ -1,6 +1,6 @@
 CMake Error in CMakeLists.txt:
   Target "testTarget" INTERFACE_INCLUDE_DIRECTORIES property contains path:
 
-    ".*RunCMake/include_directories/BinaryDirectoryInInterface-build/foo"
+    ".*RunCMake/IfacePaths/BinaryDirectoryInInterface-build/foo"
 
   which is prefixed in the build directory.
diff --git a/Tests/RunCMake/include_directories/BinaryDirectoryInInterface.cmake b/Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface.cmake
similarity index 100%
rename from Tests/RunCMake/include_directories/BinaryDirectoryInInterface.cmake
rename to Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface.cmake
diff --git a/Tests/RunCMake/include_directories/CMakeLists.txt b/Tests/RunCMake/IfacePaths/CMakeLists.txt
similarity index 100%
copy from Tests/RunCMake/include_directories/CMakeLists.txt
copy to Tests/RunCMake/IfacePaths/CMakeLists.txt
diff --git a/Tests/RunCMake/include_directories/DirInInstallPrefix-result.txt b/Tests/RunCMake/IfacePaths/DirInInstallPrefix-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/DirInInstallPrefix-result.txt
rename to Tests/RunCMake/IfacePaths/DirInInstallPrefix-result.txt
diff --git a/Tests/RunCMake/include_directories/DirInInstallPrefix.cmake b/Tests/RunCMake/IfacePaths/DirInInstallPrefix.cmake
similarity index 100%
rename from Tests/RunCMake/include_directories/DirInInstallPrefix.cmake
rename to Tests/RunCMake/IfacePaths/DirInInstallPrefix.cmake
diff --git a/Tests/RunCMake/include_directories/InstallInBinDir-result.txt b/Tests/RunCMake/IfacePaths/InstallInBinDir-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/InstallInBinDir-result.txt
rename to Tests/RunCMake/IfacePaths/InstallInBinDir-result.txt
diff --git a/Tests/RunCMake/include_directories/InstallInBinDir-stderr.txt b/Tests/RunCMake/IfacePaths/InstallInBinDir-stderr.txt
similarity index 68%
rename from Tests/RunCMake/include_directories/InstallInBinDir-stderr.txt
rename to Tests/RunCMake/IfacePaths/InstallInBinDir-stderr.txt
index 254fae1..c71b375 100644
--- a/Tests/RunCMake/include_directories/InstallInBinDir-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/InstallInBinDir-stderr.txt
@@ -1,6 +1,6 @@
 CMake Error in CMakeLists.txt:
   Target "testTarget" INTERFACE_INCLUDE_DIRECTORIES property contains path:
 
-    ".*Tests/RunCMake/include_directories/InstallInBinDir-build/foo"
+    ".*Tests/RunCMake/IfacePaths/InstallInBinDir-build/foo"
 
   which is prefixed in the build directory.
diff --git a/Tests/RunCMake/include_directories/InstallInSrcDir-result.txt b/Tests/RunCMake/IfacePaths/InstallInSrcDir-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/InstallInSrcDir-result.txt
rename to Tests/RunCMake/IfacePaths/InstallInSrcDir-result.txt
diff --git a/Tests/RunCMake/include_directories/InstallInSrcDir-stderr.txt b/Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr.txt
similarity index 74%
rename from Tests/RunCMake/include_directories/InstallInSrcDir-stderr.txt
rename to Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr.txt
index 7be3044..526ef61 100644
--- a/Tests/RunCMake/include_directories/InstallInSrcDir-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr.txt
@@ -1,6 +1,6 @@
 CMake Error in CMakeLists.txt:
   Target "testTarget" INTERFACE_INCLUDE_DIRECTORIES property contains path:
 
-    ".*Tests/RunCMake/include_directories/copy/foo"
+    ".*Tests/RunCMake/IfacePaths/copy/foo"
 
   which is prefixed in the source directory.
diff --git a/Tests/RunCMake/include_directories/InstallPrefixInInterface-result.txt b/Tests/RunCMake/IfacePaths/InstallPrefixInInterface-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/InstallPrefixInInterface-result.txt
rename to Tests/RunCMake/IfacePaths/InstallPrefixInInterface-result.txt
diff --git a/Tests/RunCMake/include_directories/InstallPrefixInInterface.cmake b/Tests/RunCMake/IfacePaths/InstallPrefixInInterface.cmake
similarity index 100%
rename from Tests/RunCMake/include_directories/InstallPrefixInInterface.cmake
rename to Tests/RunCMake/IfacePaths/InstallPrefixInInterface.cmake
diff --git a/Tests/RunCMake/include_directories/InstallToPrefixInSrcDirInSource-result.txt b/Tests/RunCMake/IfacePaths/InstallToPrefixInSrcDirInSource-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/InstallToPrefixInSrcDirInSource-result.txt
rename to Tests/RunCMake/IfacePaths/InstallToPrefixInSrcDirInSource-result.txt
diff --git a/Tests/RunCMake/include_directories/InstallToPrefixInSrcDirOutOfSource-result.txt b/Tests/RunCMake/IfacePaths/InstallToPrefixInSrcDirOutOfSource-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/InstallToPrefixInSrcDirOutOfSource-result.txt
rename to Tests/RunCMake/IfacePaths/InstallToPrefixInSrcDirOutOfSource-result.txt
diff --git a/Tests/RunCMake/include_directories/RelativePathInGenex-result.txt b/Tests/RunCMake/IfacePaths/RelativePathInGenex-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/RelativePathInGenex-result.txt
rename to Tests/RunCMake/IfacePaths/RelativePathInGenex-result.txt
diff --git a/Tests/RunCMake/include_directories/RelativePathInGenex-stderr.txt b/Tests/RunCMake/IfacePaths/RelativePathInGenex-stderr.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/RelativePathInGenex-stderr.txt
rename to Tests/RunCMake/IfacePaths/RelativePathInGenex-stderr.txt
diff --git a/Tests/RunCMake/include_directories/RelativePathInGenex.cmake b/Tests/RunCMake/IfacePaths/RelativePathInGenex.cmake
similarity index 100%
rename from Tests/RunCMake/include_directories/RelativePathInGenex.cmake
rename to Tests/RunCMake/IfacePaths/RelativePathInGenex.cmake
diff --git a/Tests/RunCMake/include_directories/RelativePathInInterface-result.txt b/Tests/RunCMake/IfacePaths/RelativePathInInterface-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/RelativePathInInterface-result.txt
rename to Tests/RunCMake/IfacePaths/RelativePathInInterface-result.txt
diff --git a/Tests/RunCMake/include_directories/RelativePathInInterface-stderr.txt b/Tests/RunCMake/IfacePaths/RelativePathInInterface-stderr.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/RelativePathInInterface-stderr.txt
rename to Tests/RunCMake/IfacePaths/RelativePathInInterface-stderr.txt
diff --git a/Tests/RunCMake/include_directories/RelativePathInInterface.cmake b/Tests/RunCMake/IfacePaths/RelativePathInInterface.cmake
similarity index 100%
rename from Tests/RunCMake/include_directories/RelativePathInInterface.cmake
rename to Tests/RunCMake/IfacePaths/RelativePathInInterface.cmake
diff --git a/Tests/RunCMake/include_directories/RunCMakeTest.cmake b/Tests/RunCMake/IfacePaths/RunCMakeTest.cmake
similarity index 96%
copy from Tests/RunCMake/include_directories/RunCMakeTest.cmake
copy to Tests/RunCMake/IfacePaths/RunCMakeTest.cmake
index fa76f24..4c9a703 100644
--- a/Tests/RunCMake/include_directories/RunCMakeTest.cmake
+++ b/Tests/RunCMake/IfacePaths/RunCMakeTest.cmake
@@ -1,17 +1,10 @@
 include(RunCMake)
 
-run_cmake(NotFoundContent)
-run_cmake(DebugIncludes)
-run_cmake(TID-bad-target)
-run_cmake(SourceDirectoryInInterface)
-run_cmake(BinaryDirectoryInInterface)
 run_cmake(RelativePathInInterface)
-run_cmake(ImportedTarget)
 run_cmake(RelativePathInGenex)
-run_cmake(CMP0021)
-run_cmake(install_config)
-run_cmake(incomplete-genex)
 run_cmake(export-NOWARN)
+run_cmake(SourceDirectoryInInterface)
+run_cmake(BinaryDirectoryInInterface)
 
 set(RunCMake_TEST_OPTIONS "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/DirInInstallPrefix/prefix")
 run_cmake(DirInInstallPrefix)
diff --git a/Tests/RunCMake/include_directories/SourceDirectoryInInterface-result.txt b/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/SourceDirectoryInInterface-result.txt
rename to Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-result.txt
diff --git a/Tests/RunCMake/include_directories/SourceDirectoryInInterface-stderr.txt b/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-stderr.txt
similarity index 78%
rename from Tests/RunCMake/include_directories/SourceDirectoryInInterface-stderr.txt
rename to Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-stderr.txt
index 9346b99..97a94b1 100644
--- a/Tests/RunCMake/include_directories/SourceDirectoryInInterface-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-stderr.txt
@@ -1,6 +1,6 @@
 CMake Error in CMakeLists.txt:
   Target "testTarget" INTERFACE_INCLUDE_DIRECTORIES property contains path:
 
-    ".*RunCMake/include_directories/foo"
+    ".*RunCMake/IfacePaths/foo"
 
   which is prefixed in the source directory.
diff --git a/Tests/RunCMake/include_directories/SourceDirectoryInInterface.cmake b/Tests/RunCMake/IfacePaths/SourceDirectoryInInterface.cmake
similarity index 100%
rename from Tests/RunCMake/include_directories/SourceDirectoryInInterface.cmake
rename to Tests/RunCMake/IfacePaths/SourceDirectoryInInterface.cmake
diff --git a/Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-NEW-result.txt b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-NEW-result.txt
rename to Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-result.txt
diff --git a/Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-NEW-stderr.txt b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-stderr.txt
similarity index 72%
rename from Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-NEW-stderr.txt
rename to Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-stderr.txt
index afa43e0..ab95537 100644
--- a/Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-NEW-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-NEW-stderr.txt
@@ -1,6 +1,6 @@
 CMake Error in CMakeLists.txt:
   Target "testTarget" INTERFACE_INCLUDE_DIRECTORIES property contains path:
 
-    ".*Tests/RunCMake/include_directories/prefix/src/foo"
+    ".*Tests/RunCMake/IfacePaths/prefix/src/foo"
 
   which is prefixed in the source directory.
diff --git a/Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-OLD-result.txt b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-OLD-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-OLD-result.txt
rename to Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-OLD-result.txt
diff --git a/Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-WARN-result.txt b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-WARN-result.txt
rename to Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-result.txt
diff --git a/Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-WARN-stderr.txt b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-stderr.txt
similarity index 75%
rename from Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-WARN-stderr.txt
rename to Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-stderr.txt
index 0b13fd8..23683e8 100644
--- a/Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-WARN-stderr.txt
+++ b/Tests/RunCMake/IfacePaths/SrcInInstallPrefix-CMP0052-WARN-stderr.txt
@@ -6,15 +6,15 @@ CMake Warning \(dev\) in CMakeLists.txt:
 
   Directory:
 
-      ".*Tests/RunCMake/include_directories/prefix/src/foo"
+      ".*Tests/RunCMake/IfacePaths/prefix/src/foo"
 
   in INTERFACE_INCLUDE_DIRECTORIES of target "testTarget" is a subdirectory
   of the install directory:
 
-      ".*Tests/RunCMake/include_directories/prefix"
+      ".*Tests/RunCMake/IfacePaths/prefix"
 
   however it is also a subdirectory of the source tree:
 
-      ".*Tests/RunCMake/include_directories/prefix/src"
+      ".*Tests/RunCMake/IfacePaths/prefix/src"
 
 This warning is for project developers.  Use -Wno-dev to suppress it.
diff --git a/Tests/RunCMake/IfacePaths/empty.cpp b/Tests/RunCMake/IfacePaths/empty.cpp
new file mode 100644
index 0000000..e69de29
diff --git a/Tests/RunCMake/include_directories/export-NOWARN-result.txt b/Tests/RunCMake/IfacePaths/export-NOWARN-result.txt
similarity index 100%
rename from Tests/RunCMake/include_directories/export-NOWARN-result.txt
rename to Tests/RunCMake/IfacePaths/export-NOWARN-result.txt
diff --git a/Tests/RunCMake/include_directories/export-NOWARN.cmake b/Tests/RunCMake/IfacePaths/export-NOWARN.cmake
similarity index 100%
rename from Tests/RunCMake/include_directories/export-NOWARN.cmake
rename to Tests/RunCMake/IfacePaths/export-NOWARN.cmake
diff --git a/Tests/RunCMake/include_directories/CMakeLists.txt b/Tests/RunCMake/include_directories/CMakeLists.txt
index 5cd4825..2897109 100644
--- a/Tests/RunCMake/include_directories/CMakeLists.txt
+++ b/Tests/RunCMake/include_directories/CMakeLists.txt
@@ -1,6 +1,3 @@
 cmake_minimum_required(VERSION 3.0)
 project(${RunCMake_TEST} NONE)
-if(NOT TEST_FILE)
-  set(TEST_FILE ${RunCMake_TEST}.cmake)
-endif()
-include(${TEST_FILE})
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/include_directories/RunCMakeTest.cmake b/Tests/RunCMake/include_directories/RunCMakeTest.cmake
index fa76f24..3f624f8 100644
--- a/Tests/RunCMake/include_directories/RunCMakeTest.cmake
+++ b/Tests/RunCMake/include_directories/RunCMakeTest.cmake
@@ -3,148 +3,7 @@ include(RunCMake)
 run_cmake(NotFoundContent)
 run_cmake(DebugIncludes)
 run_cmake(TID-bad-target)
-run_cmake(SourceDirectoryInInterface)
-run_cmake(BinaryDirectoryInInterface)
-run_cmake(RelativePathInInterface)
 run_cmake(ImportedTarget)
-run_cmake(RelativePathInGenex)
 run_cmake(CMP0021)
 run_cmake(install_config)
 run_cmake(incomplete-genex)
-run_cmake(export-NOWARN)
-
-set(RunCMake_TEST_OPTIONS "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/DirInInstallPrefix/prefix")
-run_cmake(DirInInstallPrefix)
-
-configure_file(
-  "${RunCMake_SOURCE_DIR}/CMakeLists.txt"
-  "${RunCMake_BINARY_DIR}/copy/CMakeLists.txt"
-  COPYONLY
-)
-configure_file(
-  "${RunCMake_SOURCE_DIR}/empty.cpp"
-  "${RunCMake_BINARY_DIR}/copy/empty.cpp"
-  COPYONLY
-)
-configure_file(
-  "${RunCMake_SOURCE_DIR}/SourceDirectoryInInterface.cmake"
-  "${RunCMake_BINARY_DIR}/copy/SourceDirectoryInInterface.cmake"
-  COPYONLY
-)
-set(RunCMake_TEST_OPTIONS
-  "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/copy/SourceDirectoryInInterface/prefix"
-  "-DTEST_FILE=${RunCMake_BINARY_DIR}/copy/SourceDirectoryInInterface.cmake"
-  )
-set(RunCMake_TEST_SOURCE_DIR "${RunCMake_BINARY_DIR}/copy")
-run_cmake(InstallInSrcDir)
-unset(RunCMake_TEST_SOURCE_DIR)
-
-set(RunCMake_TEST_OPTIONS "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/InstallInBinDir-build/prefix")
-set(RunCMake_TEST_OPTIONS
-  "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/InstallInBinDir-build/prefix"
-  "-DTEST_FILE=${RunCMake_SOURCE_DIR}/BinaryDirectoryInInterface.cmake"
-  )
-set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/InstallInBinDir-build")
-run_cmake(InstallInBinDir)
-unset(RunCMake_TEST_BINARY_DIR)
-
-configure_file(
-  "${RunCMake_SOURCE_DIR}/CMakeLists.txt"
-  "${RunCMake_BINARY_DIR}/prefix/src/CMakeLists.txt"
-  COPYONLY
-)
-configure_file(
-  "${RunCMake_SOURCE_DIR}/empty.cpp"
-  "${RunCMake_BINARY_DIR}/prefix/src/empty.cpp"
-  COPYONLY
-)
-configure_file(
-  "${RunCMake_SOURCE_DIR}/SourceDirectoryInInterface.cmake"
-  "${RunCMake_BINARY_DIR}/prefix/src/SourceDirectoryInInterface.cmake"
-  COPYONLY
-)
-
-foreach(policyStatus "" NEW OLD)
-  if (NOT "${policyStatus}" STREQUAL "")
-    set(policyOption -DCMAKE_POLICY_DEFAULT_CMP0052=${policyStatus})
-  else()
-    unset(policyOption)
-    set(policyStatus WARN)
-  endif()
-  set(RunCMake_TEST_OPTIONS
-    "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/prefix" ${policyOption}
-    "-DTEST_FILE=${RunCMake_SOURCE_DIR}/BinaryDirectoryInInterface.cmake"
-    )
-  # Set the RunCMake_TEST_SOURCE_DIR here to the copy too. This is needed to run
-  # the test suite in-source properly.  Otherwise the install directory would be
-  # a subdirectory or the source directory, which is allowed and tested separately
-  # below.
-  set(RunCMake_TEST_SOURCE_DIR "${RunCMake_BINARY_DIR}/prefix/src")
-  set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/prefix/BinInInstallPrefix-CMP0052-${policyStatus}-build")
-  run_cmake(BinInInstallPrefix-CMP0052-${policyStatus})
-  unset(RunCMake_TEST_BINARY_DIR)
-
-  set(RunCMake_TEST_OPTIONS
-    "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/prefix" ${policyOption}
-    "-DTEST_FILE=${RunCMake_BINARY_DIR}/prefix/src/SourceDirectoryInInterface.cmake"
-    )
-  run_cmake(SrcInInstallPrefix-CMP0052-${policyStatus})
-  unset(RunCMake_TEST_SOURCE_DIR)
-endforeach()
-
-set(RunCMake_TEST_OPTIONS "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/InstallPrefixInInterface-build/prefix")
-run_cmake(InstallPrefixInInterface)
-
-configure_file(
-  "${RunCMake_SOURCE_DIR}/CMakeLists.txt"
-  "${RunCMake_BINARY_DIR}/installToSrc/CMakeLists.txt"
-  COPYONLY
-)
-configure_file(
-  "${RunCMake_SOURCE_DIR}/empty.cpp"
-  "${RunCMake_BINARY_DIR}/installToSrc/empty.cpp"
-  COPYONLY
-)
-configure_file(
-  "${RunCMake_SOURCE_DIR}/InstallPrefixInInterface.cmake"
-  "${RunCMake_BINARY_DIR}/installToSrc/InstallPrefixInInterface.cmake"
-  COPYONLY
-)
-set(RunCMake_TEST_OPTIONS
-  "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/installToSrc/InstallPrefixInInterface/prefix"
-  "-DTEST_FILE=${RunCMake_BINARY_DIR}/installToSrc/InstallPrefixInInterface.cmake"
-  )
-set(RunCMake_TEST_SOURCE_DIR "${RunCMake_BINARY_DIR}/installToSrc")
-run_cmake(InstallToPrefixInSrcDirOutOfSource)
-unset(RunCMake_TEST_SOURCE_DIR)
-
-
-file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}/installToSrcInSrc")
-set(RunCMake_TEST_NO_CLEAN ON)
-
-configure_file(
-  "${RunCMake_SOURCE_DIR}/CMakeLists.txt"
-  "${RunCMake_BINARY_DIR}/installToSrcInSrc/CMakeLists.txt"
-  COPYONLY
-)
-configure_file(
-  "${RunCMake_SOURCE_DIR}/empty.cpp"
-  "${RunCMake_BINARY_DIR}/installToSrcInSrc/empty.cpp"
-  COPYONLY
-)
-configure_file(
-  "${RunCMake_SOURCE_DIR}/InstallPrefixInInterface.cmake"
-  "${RunCMake_BINARY_DIR}/installToSrcInSrc/InstallPrefixInInterface.cmake"
-  COPYONLY
-)
-
-set(RunCMake_TEST_OPTIONS
-  "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/installToSrcInSrc/InstallPrefixInInterface/prefix"
-  "-DTEST_FILE=${RunCMake_BINARY_DIR}/installToSrcInSrc/InstallPrefixInInterface.cmake"
-  )
-set(RunCMake_TEST_SOURCE_DIR "${RunCMake_BINARY_DIR}/installToSrcInSrc")
-set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/installToSrcInSrc")
-run_cmake(InstallToPrefixInSrcDirInSource)
-unset(RunCMake_TEST_SOURCE_DIR)
-unset(RunCMake_TEST_BINARY_DIR)
-unset(RunCMake_TEST_NO_CLEAN)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c0d8e715915f65196353c09d86d4d34fe100437f
commit c0d8e715915f65196353c09d86d4d34fe100437f
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Feb 9 08:41:06 2015 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Mon Feb 9 19:15:04 2015 +0100

    RunCMake: Allow specifying the stderr file for a test.

diff --git a/Tests/RunCMake/RunCMake.cmake b/Tests/RunCMake/RunCMake.cmake
index 33b745d..6389ef4 100644
--- a/Tests/RunCMake/RunCMake.cmake
+++ b/Tests/RunCMake/RunCMake.cmake
@@ -18,7 +18,10 @@ function(run_cmake test)
     set(expect_result 0)
   endif()
   foreach(o out err)
-    if(EXISTS ${top_src}/${test}-std${o}.txt)
+    if(RunCMake-std${o}-file AND EXISTS ${top_src}/${RunCMake-std${o}-file})
+      file(READ ${top_src}/${RunCMake-std${o}-file} expect_std${o})
+      string(REGEX REPLACE "\n+$" "" expect_std${o} "${expect_std${o}}")
+    elseif(EXISTS ${top_src}/${test}-std${o}.txt)
       file(READ ${top_src}/${test}-std${o}.txt expect_std${o})
       string(REGEX REPLACE "\n+$" "" expect_std${o} "${expect_std${o}}")
     else()

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=68d29f519047aeef92a0ab8fef531010c311efaa
commit 68d29f519047aeef92a0ab8fef531010c311efaa
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Feb 9 08:39:18 2015 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Mon Feb 9 19:15:04 2015 +0100

    RunCMake: Allow specifying the directory to run tests in.

diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 801655f..2973fe9 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -1,17 +1,28 @@
 # See adjacent README.rst for documentation of this test infrastructure.
 
 macro(add_RunCMake_test test)
+  set(TEST_ARGS ${ARGN})
+  if ("${ARGV1}" STREQUAL "TEST_DIR")
+    if ("${ARGV2}" STREQUAL "")
+      message(FATAL_ERROR "Invalid args")
+    endif()
+    set(Test_Dir ${ARGV2})
+    list(REMOVE_AT TEST_ARGS 0)
+    list(REMOVE_AT TEST_ARGS 0)
+  else()
+    set(Test_Dir ${test})
+  endif()
   add_test(NAME RunCMake.${test} COMMAND ${CMAKE_CMAKE_COMMAND}
     -DCMAKE_MODULE_PATH=${CMAKE_CURRENT_SOURCE_DIR}
     -DRunCMake_GENERATOR=${CMAKE_GENERATOR}
     -DRunCMake_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
     -DRunCMake_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET}
     -DRunCMake_MAKE_PROGRAM=${CMake_TEST_EXPLICIT_MAKE_PROGRAM}
-    -DRunCMake_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/${test}
+    -DRunCMake_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/${Test_Dir}
     -DRunCMake_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}/${test}
     ${${test}_ARGS}
-    ${ARGN}
-    -P "${CMAKE_CURRENT_SOURCE_DIR}/${test}/RunCMakeTest.cmake"
+    ${TEST_ARGS}
+    -P "${CMAKE_CURRENT_SOURCE_DIR}/${Test_Dir}/RunCMakeTest.cmake"
     )
 endmacro()
 

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1c3918ff0278715e2a4ec5929f75f7812003ee97
commit 1c3918ff0278715e2a4ec5929f75f7812003ee97
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Feb 1 17:38:59 2015 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Mon Feb 9 19:15:04 2015 +0100

    RunCMake: Remove unneeded files.
    
    The default expectation of RunCMake tests is empty content, so there
    is no need to specify it.

diff --git a/Tests/RunCMake/CMP0022/CMP0022-NOWARN-exe-stderr.txt b/Tests/RunCMake/CMP0022/CMP0022-NOWARN-exe-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0022/CMP0022-NOWARN-exe-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0022/CMP0022-NOWARN-shared-stderr.txt b/Tests/RunCMake/CMP0022/CMP0022-NOWARN-shared-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0022/CMP0022-NOWARN-shared-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0022/CMP0022-NOWARN-static-NEW-stderr.txt b/Tests/RunCMake/CMP0022/CMP0022-NOWARN-static-NEW-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0022/CMP0022-NOWARN-static-NEW-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0022/CMP0022-NOWARN-static-link_libraries-stderr.txt b/Tests/RunCMake/CMP0022/CMP0022-NOWARN-static-link_libraries-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0022/CMP0022-NOWARN-static-link_libraries-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0022/CMP0022-NOWARN-static-stderr.txt b/Tests/RunCMake/CMP0022/CMP0022-NOWARN-static-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0022/CMP0022-NOWARN-static-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0022/CMP0022-export-exe-stderr.txt b/Tests/RunCMake/CMP0022/CMP0022-export-exe-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0022/CMP0022-export-exe-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0026/CMP0026-CONFIG-LOCATION-OLD-stderr.txt b/Tests/RunCMake/CMP0026/CMP0026-CONFIG-LOCATION-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0026/CMP0026-CONFIG-LOCATION-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0026/CMP0026-IMPORTED-stderr.txt b/Tests/RunCMake/CMP0026/CMP0026-IMPORTED-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0026/CMP0026-IMPORTED-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0026/CMP0026-LOCATION-CONFIG-OLD-stderr.txt b/Tests/RunCMake/CMP0026/CMP0026-LOCATION-CONFIG-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0026/CMP0026-LOCATION-CONFIG-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0028/CMP0028-OLD-iface-stderr.txt b/Tests/RunCMake/CMP0028/CMP0028-OLD-iface-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0028/CMP0028-OLD-iface-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0028/CMP0028-OLD-stderr.txt b/Tests/RunCMake/CMP0028/CMP0028-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0028/CMP0028-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0037/CMP0037-OLD-reserved-stderr.txt b/Tests/RunCMake/CMP0037/CMP0037-OLD-reserved-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0037/CMP0037-OLD-reserved-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0037/CMP0037-OLD-space-stderr.txt b/Tests/RunCMake/CMP0037/CMP0037-OLD-space-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0037/CMP0037-OLD-space-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0038/CMP0038-OLD-stderr.txt b/Tests/RunCMake/CMP0038/CMP0038-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0038/CMP0038-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0039/CMP0039-OLD-stderr.txt b/Tests/RunCMake/CMP0039/CMP0039-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0039/CMP0039-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0040/CMP0040-NEW-existing-target-stderr.txt b/Tests/RunCMake/CMP0040/CMP0040-NEW-existing-target-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0040/CMP0040-NEW-existing-target-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0040/CMP0040-OLD-existing-target-stderr.txt b/Tests/RunCMake/CMP0040/CMP0040-OLD-existing-target-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0040/CMP0040-OLD-existing-target-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0040/CMP0040-OLD-missing-target-stderr.txt b/Tests/RunCMake/CMP0040/CMP0040-OLD-missing-target-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0040/CMP0040-OLD-missing-target-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0041/CMP0041-OLD-stderr.txt b/Tests/RunCMake/CMP0041/CMP0041-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0041/CMP0041-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0041/CMP0041-tid-OLD-stderr.txt b/Tests/RunCMake/CMP0041/CMP0041-tid-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0041/CMP0041-tid-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0042/CMP0042-NEW-stderr.txt b/Tests/RunCMake/CMP0042/CMP0042-NEW-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0042/CMP0042-NEW-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0042/CMP0042-OLD-stderr.txt b/Tests/RunCMake/CMP0042/CMP0042-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0042/CMP0042-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0043/CMP0043-NEW-stderr.txt b/Tests/RunCMake/CMP0043/CMP0043-NEW-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0043/CMP0043-NEW-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0043/CMP0043-OLD-stderr.txt b/Tests/RunCMake/CMP0043/CMP0043-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0043/CMP0043-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0045/CMP0045-OLD-stderr.txt b/Tests/RunCMake/CMP0045/CMP0045-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0045/CMP0045-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0046/CMP0046-NEW-existing-dependency-stderr.txt b/Tests/RunCMake/CMP0046/CMP0046-NEW-existing-dependency-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0046/CMP0046-NEW-existing-dependency-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0046/CMP0046-OLD-existing-dependency-stderr.txt b/Tests/RunCMake/CMP0046/CMP0046-OLD-existing-dependency-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0046/CMP0046-OLD-existing-dependency-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0046/CMP0046-OLD-missing-dependency-stderr.txt b/Tests/RunCMake/CMP0046/CMP0046-OLD-missing-dependency-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0046/CMP0046-OLD-missing-dependency-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0049/CMP0049-OLD-stderr.txt b/Tests/RunCMake/CMP0049/CMP0049-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0049/CMP0049-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0050/CMP0050-OLD-stderr.txt b/Tests/RunCMake/CMP0050/CMP0050-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0050/CMP0050-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0055/CMP0055-OLD-Out-of-Scope-stderr.txt b/Tests/RunCMake/CMP0055/CMP0055-OLD-Out-of-Scope-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0055/CMP0055-OLD-Out-of-Scope-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CMP0055/CMP0055-OLD-Reject-Arguments-stderr.txt b/Tests/RunCMake/CMP0055/CMP0055-OLD-Reject-Arguments-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CMP0055/CMP0055-OLD-Reject-Arguments-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/CompileFeatures/LinkImplementationFeatureCycleSolved-stderr.txt b/Tests/RunCMake/CompileFeatures/LinkImplementationFeatureCycleSolved-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/CompileFeatures/LinkImplementationFeatureCycleSolved-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/DisallowedCommands/CMP0029-OLD-stderr.txt b/Tests/RunCMake/DisallowedCommands/CMP0029-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/DisallowedCommands/CMP0029-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/File_Generate/CarryPermissions-stderr.txt b/Tests/RunCMake/File_Generate/CarryPermissions-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/File_Generate/CarryPermissions-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/File_Generate/GenerateSource-stderr.txt b/Tests/RunCMake/File_Generate/GenerateSource-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/File_Generate/GenerateSource-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/File_Generate/OutputNameMatchesOtherSources-stderr.txt b/Tests/RunCMake/File_Generate/OutputNameMatchesOtherSources-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/File_Generate/OutputNameMatchesOtherSources-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/File_Generate/ReRunCMake-stderr.txt b/Tests/RunCMake/File_Generate/ReRunCMake-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/File_Generate/ReRunCMake-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/File_Generate/WriteIfDifferent-stderr.txt b/Tests/RunCMake/File_Generate/WriteIfDifferent-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/File_Generate/WriteIfDifferent-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/GeneratorExpression/ValidTarget-TARGET_PDB_FILE-stderr.txt b/Tests/RunCMake/GeneratorExpression/ValidTarget-TARGET_PDB_FILE-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/GeneratorExpression/ValidTarget-TARGET_PDB_FILE-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/Syntax/ParenNoSpace2-stderr.txt b/Tests/RunCMake/Syntax/ParenNoSpace2-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/Syntax/ParenNoSpace2-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle3-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle3-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle3-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/TargetSources/CMP0026-LOCATION-stderr.txt b/Tests/RunCMake/TargetSources/CMP0026-LOCATION-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/TargetSources/CMP0026-LOCATION-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-OLD-stderr.txt b/Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/include_directories/DirInInstallPrefix-stderr.txt b/Tests/RunCMake/include_directories/DirInInstallPrefix-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/include_directories/DirInInstallPrefix-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/include_directories/InstallPrefixInInterface-stderr.txt b/Tests/RunCMake/include_directories/InstallPrefixInInterface-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/include_directories/InstallPrefixInInterface-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/include_directories/InstallToPrefixInSrcDirInSource-stderr.txt b/Tests/RunCMake/include_directories/InstallToPrefixInSrcDirInSource-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/include_directories/InstallToPrefixInSrcDirInSource-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/include_directories/InstallToPrefixInSrcDirOutOfSource-stderr.txt b/Tests/RunCMake/include_directories/InstallToPrefixInSrcDirOutOfSource-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/include_directories/InstallToPrefixInSrcDirOutOfSource-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-OLD-stderr.txt b/Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-OLD-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-OLD-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/include_directories/export-NOWARN-stderr.txt b/Tests/RunCMake/include_directories/export-NOWARN-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/include_directories/export-NOWARN-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/install/SkipInstallRulesNoWarning1-stderr.txt b/Tests/RunCMake/install/SkipInstallRulesNoWarning1-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/install/SkipInstallRulesNoWarning1-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/install/SkipInstallRulesNoWarning2-stderr.txt b/Tests/RunCMake/install/SkipInstallRulesNoWarning2-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/install/SkipInstallRulesNoWarning2-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/interface_library/genex_link-stderr.txt b/Tests/RunCMake/interface_library/genex_link-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/interface_library/genex_link-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/interface_library/no_shared_libs-stderr.txt b/Tests/RunCMake/interface_library/no_shared_libs-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/interface_library/no_shared_libs-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/message/nomessage-stderr.txt b/Tests/RunCMake/message/nomessage-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/message/nomessage-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/no_install_prefix/with_install_prefix-stderr.txt b/Tests/RunCMake/no_install_prefix/with_install_prefix-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/no_install_prefix/with_install_prefix-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$
diff --git a/Tests/RunCMake/project/CMP0048-NEW-stderr.txt b/Tests/RunCMake/project/CMP0048-NEW-stderr.txt
deleted file mode 100644
index 10f3293..0000000
--- a/Tests/RunCMake/project/CMP0048-NEW-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-^$

-----------------------------------------------------------------------

Summary of changes:
 Help/command/target_sources.rst                    |    4 -
 Help/prop_tgt/INTERFACE_SOURCES.rst                |    4 -
 Help/release/dev/export-interface-source-files.rst |    6 +
 Source/cmExportBuildFileGenerator.cxx              |   13 +-
 Source/cmExportFileGenerator.cxx                   |  136 +++++++++++++------
 Source/cmExportFileGenerator.h                     |    5 +
 Source/cmExportInstallFileGenerator.cxx            |   28 ++--
 Tests/ExportImport/Export/Interface/CMakeLists.txt |   12 +-
 .../Export/Interface/source_target.cpp             |   13 ++
 .../Export/Interface/source_target_for_install.cpp |   13 ++
 Tests/ExportImport/Import/Interface/CMakeLists.txt |    8 ++
 .../Import/Interface/source_target_test.cpp        |    7 +
 .../RunCMake/CMP0022/CMP0022-NOWARN-exe-stderr.txt |    1 -
 .../CMP0022/CMP0022-NOWARN-shared-stderr.txt       |    1 -
 .../CMP0022/CMP0022-NOWARN-static-NEW-stderr.txt   |    1 -
 ...CMP0022-NOWARN-static-link_libraries-stderr.txt |    1 -
 .../CMP0022/CMP0022-NOWARN-static-stderr.txt       |    1 -
 .../RunCMake/CMP0022/CMP0022-export-exe-stderr.txt |    1 -
 .../CMP0026/CMP0026-CONFIG-LOCATION-OLD-stderr.txt |    1 -
 Tests/RunCMake/CMP0026/CMP0026-IMPORTED-stderr.txt |    1 -
 .../CMP0026/CMP0026-LOCATION-CONFIG-OLD-stderr.txt |    1 -
 .../RunCMake/CMP0028/CMP0028-OLD-iface-stderr.txt  |    1 -
 Tests/RunCMake/CMP0028/CMP0028-OLD-stderr.txt      |    1 -
 .../CMP0037/CMP0037-OLD-reserved-stderr.txt        |    1 -
 .../RunCMake/CMP0037/CMP0037-OLD-space-stderr.txt  |    1 -
 Tests/RunCMake/CMP0038/CMP0038-OLD-stderr.txt      |    1 -
 Tests/RunCMake/CMP0039/CMP0039-OLD-stderr.txt      |    1 -
 .../CMP0040/CMP0040-NEW-existing-target-stderr.txt |    1 -
 .../CMP0040/CMP0040-OLD-existing-target-stderr.txt |    1 -
 .../CMP0040/CMP0040-OLD-missing-target-stderr.txt  |    1 -
 Tests/RunCMake/CMP0041/CMP0041-OLD-stderr.txt      |    1 -
 Tests/RunCMake/CMP0041/CMP0041-tid-OLD-stderr.txt  |    1 -
 Tests/RunCMake/CMP0042/CMP0042-NEW-stderr.txt      |    1 -
 Tests/RunCMake/CMP0042/CMP0042-OLD-stderr.txt      |    1 -
 Tests/RunCMake/CMP0043/CMP0043-NEW-stderr.txt      |    1 -
 Tests/RunCMake/CMP0043/CMP0043-OLD-stderr.txt      |    1 -
 Tests/RunCMake/CMP0045/CMP0045-OLD-stderr.txt      |    1 -
 .../CMP0046-NEW-existing-dependency-stderr.txt     |    1 -
 .../CMP0046-OLD-existing-dependency-stderr.txt     |    1 -
 .../CMP0046-OLD-missing-dependency-stderr.txt      |    1 -
 Tests/RunCMake/CMP0049/CMP0049-OLD-stderr.txt      |    1 -
 Tests/RunCMake/CMP0050/CMP0050-OLD-stderr.txt      |    1 -
 .../CMP0055/CMP0055-OLD-Out-of-Scope-stderr.txt    |    1 -
 .../CMP0055-OLD-Reject-Arguments-stderr.txt        |    1 -
 Tests/RunCMake/CMakeLists.txt                      |   23 +++-
 ...LinkImplementationFeatureCycleSolved-stderr.txt |    1 -
 .../DisallowedCommands/CMP0029-OLD-stderr.txt      |    1 -
 .../File_Generate/CarryPermissions-stderr.txt      |    1 -
 .../File_Generate/GenerateSource-stderr.txt        |    1 -
 .../OutputNameMatchesOtherSources-stderr.txt       |    1 -
 Tests/RunCMake/File_Generate/ReRunCMake-stderr.txt |    1 -
 .../File_Generate/WriteIfDifferent-stderr.txt      |    1 -
 .../ValidTarget-TARGET_PDB_FILE-stderr.txt         |    1 -
 .../BinInInstallPrefix-CMP0052-NEW-result.txt}     |    0
 ...fix-CMP0052-NEW-stderr_INCLUDE_DIRECTORIES.txt} |    2 +-
 .../BinInInstallPrefix-CMP0052-OLD-result.txt      |    0
 .../BinInInstallPrefix-CMP0052-WARN-result.txt     |    0
 ...ix-CMP0052-WARN-stderr_INCLUDE_DIRECTORIES.txt} |    6 +-
 .../BinInInstallPrefix-result.txt}                 |    0
 .../BinInInstallPrefix-stderr_SOURCES.txt          |    6 +
 .../BinaryDirectoryInInterface-result.txt}         |    0
 ...toryInInterface-stderr_INCLUDE_DIRECTORIES.txt} |    2 +-
 .../BinaryDirectoryInInterface-stderr_SOURCES.txt  |    6 +
 .../IfacePaths/BinaryDirectoryInInterface.cmake    |   15 +++
 .../CMakeLists.txt                                 |    0
 .../DirInInstallPrefix-result.txt                  |    0
 Tests/RunCMake/IfacePaths/DirInInstallPrefix.cmake |   14 ++
 .../InstallInBinDir-result.txt}                    |    0
 ...InstallInBinDir-stderr_INCLUDE_DIRECTORIES.txt} |    2 +-
 .../IfacePaths/InstallInBinDir-stderr_SOURCES.txt  |    6 +
 .../InstallInSrcDir-result.txt}                    |    0
 ...InstallInSrcDir-stderr_INCLUDE_DIRECTORIES.txt} |    2 +-
 .../IfacePaths/InstallInSrcDir-stderr_SOURCES.txt  |    6 +
 .../InstallPrefixInInterface-result.txt            |    0
 .../InstallPrefixInInterface.cmake                 |    0
 .../InstallToPrefixInSrcDirInSource-result.txt     |    0
 .../InstallToPrefixInSrcDirOutOfSource-result.txt  |    0
 .../RelativePathInGenex-result.txt}                |    0
 ...tivePathInGenex-stderr_INCLUDE_DIRECTORIES.txt} |    0
 .../RelativePathInGenex-stderr_SOURCES.txt         |    4 +
 .../RunCMake/IfacePaths/RelativePathInGenex.cmake  |   13 ++
 .../RelativePathInInterface-result.txt}            |    0
 ...PathInInterface-stderr_INCLUDE_DIRECTORIES.txt} |    0
 .../RelativePathInInterface-stderr_SOURCES.txt     |    4 +
 .../IfacePaths/RelativePathInInterface.cmake       |   14 ++
 .../RunCMakeTest.cmake                             |   42 +++---
 .../SourceDirectoryInInterface-result.txt}         |    0
 ...toryInInterface-stderr_INCLUDE_DIRECTORIES.txt} |    2 +-
 .../SourceDirectoryInInterface-stderr_SOURCES.txt  |    6 +
 .../IfacePaths/SourceDirectoryInInterface.cmake    |   15 +++
 .../SrcInInstallPrefix-CMP0052-NEW-result.txt}     |    0
 ...fix-CMP0052-NEW-stderr_INCLUDE_DIRECTORIES.txt} |    2 +-
 .../SrcInInstallPrefix-CMP0052-OLD-result.txt      |    0
 .../SrcInInstallPrefix-CMP0052-WARN-result.txt     |    0
 ...ix-CMP0052-WARN-stderr_INCLUDE_DIRECTORIES.txt} |    6 +-
 .../SrcInInstallPrefix-result.txt}                 |    0
 .../SrcInInstallPrefix-stderr_SOURCES.txt          |    6 +
 Tests/RunCMake/{CMP0004 => IfacePaths}/empty.cpp   |    0
 .../export-NOWARN-result.txt                       |    0
 .../export-NOWARN.cmake                            |   15 +++
 Tests/RunCMake/RunCMake.cmake                      |    5 +-
 Tests/RunCMake/Syntax/ParenNoSpace2-stderr.txt     |    1 -
 .../LinkImplementationCycle3-stderr.txt            |    1 -
 .../TargetSources/CMP0026-LOCATION-stderr.txt      |    1 -
 .../RunCMake/TargetSources/ExportBuild-result.txt  |    2 +-
 .../RunCMake/TargetSources/ExportBuild-stderr.txt  |    1 -
 .../TargetSources/ExportInstall-result.txt         |    1 -
 .../TargetSources/ExportInstall-stderr.txt         |    1 -
 Tests/RunCMake/TargetSources/ExportInstall.cmake   |    6 -
 Tests/RunCMake/TargetSources/RunCMakeTest.cmake    |    1 -
 .../BinInInstallPrefix-CMP0052-NEW-result.txt      |    1 -
 .../BinInInstallPrefix-CMP0052-OLD-stderr.txt      |    1 -
 .../BinaryDirectoryInInterface-result.txt          |    1 -
 .../BinaryDirectoryInInterface.cmake               |   11 --
 Tests/RunCMake/include_directories/CMakeLists.txt  |    5 +-
 .../DirInInstallPrefix-stderr.txt                  |    1 -
 .../include_directories/DirInInstallPrefix.cmake   |    9 --
 .../include_directories/InstallInBinDir-result.txt |    1 -
 .../include_directories/InstallInSrcDir-result.txt |    1 -
 .../InstallPrefixInInterface-stderr.txt            |    1 -
 .../InstallToPrefixInSrcDirInSource-stderr.txt     |    1 -
 .../InstallToPrefixInSrcDirOutOfSource-stderr.txt  |    1 -
 .../RelativePathInGenex-result.txt                 |    1 -
 .../include_directories/RelativePathInGenex.cmake  |    8 --
 .../RelativePathInInterface-result.txt             |    1 -
 .../RelativePathInInterface.cmake                  |   11 --
 .../include_directories/RunCMakeTest.cmake         |  141 --------------------
 .../SourceDirectoryInInterface-result.txt          |    1 -
 .../SourceDirectoryInInterface.cmake               |   11 --
 .../SrcInInstallPrefix-CMP0052-NEW-result.txt      |    1 -
 .../SrcInInstallPrefix-CMP0052-OLD-stderr.txt      |    1 -
 .../include_directories/export-NOWARN-stderr.txt   |    1 -
 .../install/SkipInstallRulesNoWarning1-stderr.txt  |    1 -
 .../install/SkipInstallRulesNoWarning2-stderr.txt  |    1 -
 .../interface_library/genex_link-stderr.txt        |    1 -
 .../interface_library/no_shared_libs-stderr.txt    |    1 -
 Tests/RunCMake/message/nomessage-stderr.txt        |    1 -
 .../with_install_prefix-stderr.txt                 |    1 -
 Tests/RunCMake/project/CMP0048-NEW-stderr.txt      |    1 -
 139 files changed, 367 insertions(+), 379 deletions(-)
 create mode 100644 Help/release/dev/export-interface-source-files.rst
 create mode 100644 Tests/ExportImport/Export/Interface/source_target.cpp
 create mode 100644 Tests/ExportImport/Export/Interface/source_target_for_install.cpp
 create mode 100644 Tests/ExportImport/Import/Interface/source_target_test.cpp
 delete mode 100644 Tests/RunCMake/CMP0022/CMP0022-NOWARN-exe-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0022/CMP0022-NOWARN-shared-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0022/CMP0022-NOWARN-static-NEW-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0022/CMP0022-NOWARN-static-link_libraries-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0022/CMP0022-NOWARN-static-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0022/CMP0022-export-exe-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0026/CMP0026-CONFIG-LOCATION-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0026/CMP0026-IMPORTED-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0026/CMP0026-LOCATION-CONFIG-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0028/CMP0028-OLD-iface-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0028/CMP0028-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0037/CMP0037-OLD-reserved-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0037/CMP0037-OLD-space-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0038/CMP0038-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0039/CMP0039-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0040/CMP0040-NEW-existing-target-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0040/CMP0040-OLD-existing-target-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0040/CMP0040-OLD-missing-target-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0041/CMP0041-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0041/CMP0041-tid-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0042/CMP0042-NEW-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0042/CMP0042-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0043/CMP0043-NEW-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0043/CMP0043-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0045/CMP0045-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0046/CMP0046-NEW-existing-dependency-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0046/CMP0046-OLD-existing-dependency-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0046/CMP0046-OLD-missing-dependency-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0049/CMP0049-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0050/CMP0050-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0055/CMP0055-OLD-Out-of-Scope-stderr.txt
 delete mode 100644 Tests/RunCMake/CMP0055/CMP0055-OLD-Reject-Arguments-stderr.txt
 delete mode 100644 Tests/RunCMake/CompileFeatures/LinkImplementationFeatureCycleSolved-stderr.txt
 delete mode 100644 Tests/RunCMake/DisallowedCommands/CMP0029-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/File_Generate/CarryPermissions-stderr.txt
 delete mode 100644 Tests/RunCMake/File_Generate/GenerateSource-stderr.txt
 delete mode 100644 Tests/RunCMake/File_Generate/OutputNameMatchesOtherSources-stderr.txt
 delete mode 100644 Tests/RunCMake/File_Generate/ReRunCMake-stderr.txt
 delete mode 100644 Tests/RunCMake/File_Generate/WriteIfDifferent-stderr.txt
 delete mode 100644 Tests/RunCMake/GeneratorExpression/ValidTarget-TARGET_PDB_FILE-stderr.txt
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => IfacePaths/BinInInstallPrefix-CMP0052-NEW-result.txt} (100%)
 rename Tests/RunCMake/{include_directories/BinInInstallPrefix-CMP0052-NEW-stderr.txt => IfacePaths/BinInInstallPrefix-CMP0052-NEW-stderr_INCLUDE_DIRECTORIES.txt} (60%)
 rename Tests/RunCMake/{include_directories => IfacePaths}/BinInInstallPrefix-CMP0052-OLD-result.txt (100%)
 rename Tests/RunCMake/{include_directories => IfacePaths}/BinInInstallPrefix-CMP0052-WARN-result.txt (100%)
 rename Tests/RunCMake/{include_directories/BinInInstallPrefix-CMP0052-WARN-stderr.txt => IfacePaths/BinInInstallPrefix-CMP0052-WARN-stderr_INCLUDE_DIRECTORIES.txt} (66%)
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => IfacePaths/BinInInstallPrefix-result.txt} (100%)
 create mode 100644 Tests/RunCMake/IfacePaths/BinInInstallPrefix-stderr_SOURCES.txt
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => IfacePaths/BinaryDirectoryInInterface-result.txt} (100%)
 rename Tests/RunCMake/{include_directories/BinaryDirectoryInInterface-stderr.txt => IfacePaths/BinaryDirectoryInInterface-stderr_INCLUDE_DIRECTORIES.txt} (64%)
 create mode 100644 Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface-stderr_SOURCES.txt
 create mode 100644 Tests/RunCMake/IfacePaths/BinaryDirectoryInInterface.cmake
 copy Tests/RunCMake/{include_directories => IfacePaths}/CMakeLists.txt (100%)
 rename Tests/RunCMake/{include_directories => IfacePaths}/DirInInstallPrefix-result.txt (100%)
 create mode 100644 Tests/RunCMake/IfacePaths/DirInInstallPrefix.cmake
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => IfacePaths/InstallInBinDir-result.txt} (100%)
 rename Tests/RunCMake/{include_directories/InstallInBinDir-stderr.txt => IfacePaths/InstallInBinDir-stderr_INCLUDE_DIRECTORIES.txt} (65%)
 create mode 100644 Tests/RunCMake/IfacePaths/InstallInBinDir-stderr_SOURCES.txt
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => IfacePaths/InstallInSrcDir-result.txt} (100%)
 rename Tests/RunCMake/{include_directories/InstallInSrcDir-stderr.txt => IfacePaths/InstallInSrcDir-stderr_INCLUDE_DIRECTORIES.txt} (70%)
 create mode 100644 Tests/RunCMake/IfacePaths/InstallInSrcDir-stderr_SOURCES.txt
 rename Tests/RunCMake/{include_directories => IfacePaths}/InstallPrefixInInterface-result.txt (100%)
 rename Tests/RunCMake/{include_directories => IfacePaths}/InstallPrefixInInterface.cmake (100%)
 rename Tests/RunCMake/{include_directories => IfacePaths}/InstallToPrefixInSrcDirInSource-result.txt (100%)
 rename Tests/RunCMake/{include_directories => IfacePaths}/InstallToPrefixInSrcDirOutOfSource-result.txt (100%)
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => IfacePaths/RelativePathInGenex-result.txt} (100%)
 rename Tests/RunCMake/{include_directories/RelativePathInGenex-stderr.txt => IfacePaths/RelativePathInGenex-stderr_INCLUDE_DIRECTORIES.txt} (100%)
 create mode 100644 Tests/RunCMake/IfacePaths/RelativePathInGenex-stderr_SOURCES.txt
 create mode 100644 Tests/RunCMake/IfacePaths/RelativePathInGenex.cmake
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => IfacePaths/RelativePathInInterface-result.txt} (100%)
 rename Tests/RunCMake/{include_directories/RelativePathInInterface-stderr.txt => IfacePaths/RelativePathInInterface-stderr_INCLUDE_DIRECTORIES.txt} (100%)
 create mode 100644 Tests/RunCMake/IfacePaths/RelativePathInInterface-stderr_SOURCES.txt
 create mode 100644 Tests/RunCMake/IfacePaths/RelativePathInInterface.cmake
 copy Tests/RunCMake/{include_directories => IfacePaths}/RunCMakeTest.cmake (86%)
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => IfacePaths/SourceDirectoryInInterface-result.txt} (100%)
 rename Tests/RunCMake/{include_directories/SourceDirectoryInInterface-stderr.txt => IfacePaths/SourceDirectoryInInterface-stderr_INCLUDE_DIRECTORIES.txt} (78%)
 create mode 100644 Tests/RunCMake/IfacePaths/SourceDirectoryInInterface-stderr_SOURCES.txt
 create mode 100644 Tests/RunCMake/IfacePaths/SourceDirectoryInInterface.cmake
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => IfacePaths/SrcInInstallPrefix-CMP0052-NEW-result.txt} (100%)
 rename Tests/RunCMake/{include_directories/SrcInInstallPrefix-CMP0052-NEW-stderr.txt => IfacePaths/SrcInInstallPrefix-CMP0052-NEW-stderr_INCLUDE_DIRECTORIES.txt} (69%)
 rename Tests/RunCMake/{include_directories => IfacePaths}/SrcInInstallPrefix-CMP0052-OLD-result.txt (100%)
 rename Tests/RunCMake/{include_directories => IfacePaths}/SrcInInstallPrefix-CMP0052-WARN-result.txt (100%)
 rename Tests/RunCMake/{include_directories/SrcInInstallPrefix-CMP0052-WARN-stderr.txt => IfacePaths/SrcInInstallPrefix-CMP0052-WARN-stderr_INCLUDE_DIRECTORIES.txt} (72%)
 copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => IfacePaths/SrcInInstallPrefix-result.txt} (100%)
 create mode 100644 Tests/RunCMake/IfacePaths/SrcInInstallPrefix-stderr_SOURCES.txt
 copy Tests/RunCMake/{CMP0004 => IfacePaths}/empty.cpp (100%)
 rename Tests/RunCMake/{include_directories => IfacePaths}/export-NOWARN-result.txt (100%)
 rename Tests/RunCMake/{include_directories => IfacePaths}/export-NOWARN.cmake (71%)
 delete mode 100644 Tests/RunCMake/Syntax/ParenNoSpace2-stderr.txt
 delete mode 100644 Tests/RunCMake/TargetPropertyGeneratorExpressions/LinkImplementationCycle3-stderr.txt
 delete mode 100644 Tests/RunCMake/TargetSources/CMP0026-LOCATION-stderr.txt
 delete mode 100644 Tests/RunCMake/TargetSources/ExportBuild-stderr.txt
 delete mode 100644 Tests/RunCMake/TargetSources/ExportInstall-result.txt
 delete mode 100644 Tests/RunCMake/TargetSources/ExportInstall-stderr.txt
 delete mode 100644 Tests/RunCMake/TargetSources/ExportInstall.cmake
 delete mode 100644 Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-NEW-result.txt
 delete mode 100644 Tests/RunCMake/include_directories/BinInInstallPrefix-CMP0052-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/include_directories/BinaryDirectoryInInterface-result.txt
 delete mode 100644 Tests/RunCMake/include_directories/BinaryDirectoryInInterface.cmake
 delete mode 100644 Tests/RunCMake/include_directories/DirInInstallPrefix-stderr.txt
 delete mode 100644 Tests/RunCMake/include_directories/DirInInstallPrefix.cmake
 delete mode 100644 Tests/RunCMake/include_directories/InstallInBinDir-result.txt
 delete mode 100644 Tests/RunCMake/include_directories/InstallInSrcDir-result.txt
 delete mode 100644 Tests/RunCMake/include_directories/InstallPrefixInInterface-stderr.txt
 delete mode 100644 Tests/RunCMake/include_directories/InstallToPrefixInSrcDirInSource-stderr.txt
 delete mode 100644 Tests/RunCMake/include_directories/InstallToPrefixInSrcDirOutOfSource-stderr.txt
 delete mode 100644 Tests/RunCMake/include_directories/RelativePathInGenex-result.txt
 delete mode 100644 Tests/RunCMake/include_directories/RelativePathInGenex.cmake
 delete mode 100644 Tests/RunCMake/include_directories/RelativePathInInterface-result.txt
 delete mode 100644 Tests/RunCMake/include_directories/RelativePathInInterface.cmake
 delete mode 100644 Tests/RunCMake/include_directories/SourceDirectoryInInterface-result.txt
 delete mode 100644 Tests/RunCMake/include_directories/SourceDirectoryInInterface.cmake
 delete mode 100644 Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-NEW-result.txt
 delete mode 100644 Tests/RunCMake/include_directories/SrcInInstallPrefix-CMP0052-OLD-stderr.txt
 delete mode 100644 Tests/RunCMake/include_directories/export-NOWARN-stderr.txt
 delete mode 100644 Tests/RunCMake/install/SkipInstallRulesNoWarning1-stderr.txt
 delete mode 100644 Tests/RunCMake/install/SkipInstallRulesNoWarning2-stderr.txt
 delete mode 100644 Tests/RunCMake/interface_library/genex_link-stderr.txt
 delete mode 100644 Tests/RunCMake/interface_library/no_shared_libs-stderr.txt
 delete mode 100644 Tests/RunCMake/message/nomessage-stderr.txt
 delete mode 100644 Tests/RunCMake/no_install_prefix/with_install_prefix-stderr.txt
 delete mode 100644 Tests/RunCMake/project/CMP0048-NEW-stderr.txt


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list