[Cmake-commits] CMake branch, master, updated. v3.12.0-rc2-144-g326ebdf

Kitware Robot kwrobot at kitware.com
Thu Jul 5 11:35:05 EDT 2018


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, master has been updated
       via  326ebdf12a59e7a115d7326299eb6be54316f34e (commit)
       via  0d7114987c78085df6449e93bdda8a1749862025 (commit)
      from  ca733cdf4532a4a3d05b82c49a5f2fbf994149de (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=326ebdf12a59e7a115d7326299eb6be54316f34e
commit 326ebdf12a59e7a115d7326299eb6be54316f34e
Merge: ca733cd 0d71149
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Jul 5 15:31:11 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Jul 5 11:31:17 2018 -0400

    Merge topic 'revert-subdirectory-linking'
    
    0d7114987c Revert "target_link_libraries: Allow use with targets in other directories"
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !2191


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0d7114987c78085df6449e93bdda8a1749862025
commit 0d7114987c78085df6449e93bdda8a1749862025
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Jul 3 09:37:29 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Jul 3 09:39:28 2018 -0400

    Revert "target_link_libraries: Allow use with targets in other directories"
    
    Revert commit v3.12.0-rc1~82^2 (target_link_libraries: Allow use with
    targets in other directories, 2018-05-11).  The RHS target scoping and
    visibility rules are not clear and will need further investigation
    before the feature can be added.
    
    Issue: #17943

diff --git a/Help/command/target_link_libraries.rst b/Help/command/target_link_libraries.rst
index 6379730..fcc2c07 100644
--- a/Help/command/target_link_libraries.rst
+++ b/Help/command/target_link_libraries.rst
@@ -18,7 +18,7 @@ All of them have the general form::
 
   target_link_libraries(<target> ... <item>... ...)
 
-The named ``<target>`` must have been created by
+The named ``<target>`` must have been created in the current directory by
 a command such as :command:`add_executable` or :command:`add_library` and
 must not be an :ref:`ALIAS target <Alias Targets>`.
 Repeated calls for the same ``<target>`` append items in the order called.
diff --git a/Help/release/3.12.rst b/Help/release/3.12.rst
index 4d1135e..84ef695 100644
--- a/Help/release/3.12.rst
+++ b/Help/release/3.12.rst
@@ -81,9 +81,6 @@ Commands
   :ref:`Object Libraries`.  Linking to an object library uses its object
   files in direct dependents and also propagates usage requirements.
 
-* The :command:`target_link_libraries` command may now be called
-  to modify targets created outside the current directory.
-
 Variables
 ---------
 
diff --git a/Source/cmTargetLinkLibrariesCommand.cxx b/Source/cmTargetLinkLibrariesCommand.cxx
index 73f9a2e..1bbcf46 100644
--- a/Source/cmTargetLinkLibrariesCommand.cxx
+++ b/Source/cmTargetLinkLibrariesCommand.cxx
@@ -365,7 +365,7 @@ bool cmTargetLinkLibrariesCommand::HandleLibrary(const std::string& lib,
   if (this->CurrentProcessingState != ProcessingKeywordLinkInterface &&
       this->CurrentProcessingState != ProcessingPlainLinkInterface) {
 
-    // Find target on the LHS locally
+    // Assure that the target on the LHS was created in the current directory.
     cmTarget* t =
       this->Makefile->FindLocalNonAliasTarget(this->Target->GetName());
     if (!t) {
@@ -378,18 +378,11 @@ bool cmTargetLinkLibrariesCommand::HandleLibrary(const std::string& lib,
         }
       }
     }
-
-    // If no local target has been found, find it in the global scope
-    if (!t) {
-      t = this->Makefile->GetGlobalGenerator()->FindTarget(
-        this->Target->GetName(), true);
-    }
-
     if (!t) {
       std::ostringstream e;
       e << "Attempt to add link library \"" << lib << "\" to target \""
         << this->Target->GetName()
-        << "\" which does not exist or is an alias target.";
+        << "\" which is not built in this directory.";
       this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
       return false;
     }
diff --git a/Tests/RunCMake/target_link_libraries/RunCMakeTest.cmake b/Tests/RunCMake/target_link_libraries/RunCMakeTest.cmake
index d61fa5f..97b0888 100644
--- a/Tests/RunCMake/target_link_libraries/RunCMakeTest.cmake
+++ b/Tests/RunCMake/target_link_libraries/RunCMakeTest.cmake
@@ -8,10 +8,7 @@ run_cmake(ImportedTarget)
 run_cmake(ImportedTargetFailure)
 run_cmake(MixedSignature)
 run_cmake(Separate-PRIVATE-LINK_PRIVATE-uses)
-run_cmake(SubDirImportedTarget)
 run_cmake(SubDirTarget)
-run_cmake(SubDirTarget-UNKNOWN-IMPORTED)
-run_cmake(SubDirTarget-UNKNOWN-IMPORTED-GLOBAL)
 run_cmake(SharedDepNotTarget)
 run_cmake(StaticPrivateDepNotExported)
 run_cmake(StaticPrivateDepNotTarget)
diff --git a/Tests/RunCMake/target_link_libraries/SubDirImportedTarget-stdout.txt b/Tests/RunCMake/target_link_libraries/SubDirImportedTarget-stdout.txt
deleted file mode 100644
index a7ef260..0000000
--- a/Tests/RunCMake/target_link_libraries/SubDirImportedTarget-stdout.txt
+++ /dev/null
@@ -1,4 +0,0 @@
--- mainexeUnknownImportedGlobal: mainlib;sublib
--- mainlibUnknownImportedGlobal: mainlib;sublib
--- subexeUnknownImportedGlobal: mainlib;sublib
--- sublibUnknownImportedGlobal: mainlib;sublib
diff --git a/Tests/RunCMake/target_link_libraries/SubDirImportedTarget.cmake b/Tests/RunCMake/target_link_libraries/SubDirImportedTarget.cmake
deleted file mode 100644
index 738280b..0000000
--- a/Tests/RunCMake/target_link_libraries/SubDirImportedTarget.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-enable_language(C)
-
-add_executable(mainexeUnknownImportedGlobal IMPORTED GLOBAL)
-add_library(mainlibUnknownImportedGlobal UNKNOWN IMPORTED GLOBAL)
-add_library(mainlib empty.c)
-
-add_subdirectory(SubDirImportedTarget)
-
-target_link_libraries(subexeUnknownImportedGlobal INTERFACE mainlib)
-target_link_libraries(subexeUnknownImportedGlobal INTERFACE sublib)
-get_property(subexeUnknownImportedGlobal_libs TARGET subexeUnknownImportedGlobal PROPERTY INTERFACE_LINK_LIBRARIES)
-message(STATUS "subexeUnknownImportedGlobal: ${subexeUnknownImportedGlobal_libs}")
-
-target_link_libraries(sublibUnknownImportedGlobal INTERFACE mainlib)
-target_link_libraries(sublibUnknownImportedGlobal INTERFACE sublib)
-get_property(sublibUnknownImportedGlobal_libs TARGET sublibUnknownImportedGlobal PROPERTY INTERFACE_LINK_LIBRARIES)
-message(STATUS "sublibUnknownImportedGlobal: ${sublibUnknownImportedGlobal_libs}")
diff --git a/Tests/RunCMake/target_link_libraries/SubDirImportedTarget/CMakeLists.txt b/Tests/RunCMake/target_link_libraries/SubDirImportedTarget/CMakeLists.txt
deleted file mode 100644
index d67a01c..0000000
--- a/Tests/RunCMake/target_link_libraries/SubDirImportedTarget/CMakeLists.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-add_executable(subexeUnknownImportedGlobal IMPORTED GLOBAL)
-add_library(sublibUnknownImportedGlobal UNKNOWN IMPORTED GLOBAL)
-add_library(sublib ../empty.c)
-
-target_link_libraries(mainexeUnknownImportedGlobal INTERFACE mainlib)
-target_link_libraries(mainexeUnknownImportedGlobal INTERFACE sublib)
-get_property(mainexeUnknownImportedGlobal_libs TARGET mainexeUnknownImportedGlobal PROPERTY INTERFACE_LINK_LIBRARIES)
-message(STATUS "mainexeUnknownImportedGlobal: ${mainexeUnknownImportedGlobal_libs}")
-
-target_link_libraries(mainlibUnknownImportedGlobal INTERFACE mainlib)
-target_link_libraries(mainlibUnknownImportedGlobal INTERFACE sublib)
-get_property(mainlibUnknownImportedGlobal_libs TARGET mainlibUnknownImportedGlobal PROPERTY INTERFACE_LINK_LIBRARIES)
-message(STATUS "mainlibUnknownImportedGlobal: ${mainlibUnknownImportedGlobal_libs}")
diff --git a/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-GLOBAL-stdout.txt b/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-GLOBAL-stdout.txt
deleted file mode 100644
index a8c77cb..0000000
--- a/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-GLOBAL-stdout.txt
+++ /dev/null
@@ -1,2 +0,0 @@
--- mainexe: mainlibUnknownImportedGlobal;sublibUnknownImportedGlobal
--- subexe: mainlibUnknownImportedGlobal;sublibUnknownImportedGlobal
diff --git a/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-GLOBAL.cmake b/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-GLOBAL.cmake
deleted file mode 100644
index 04d64e6..0000000
--- a/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-GLOBAL.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
-enable_language(C)
-
-add_executable(mainexe empty.c)
-add_library(mainlibUnknownImportedGlobal UNKNOWN IMPORTED GLOBAL)
-
-add_subdirectory(SubDirTarget-UNKNOWN-IMPORTED-GLOBAL)
-
-target_link_libraries(subexe mainlibUnknownImportedGlobal)
-target_link_libraries(subexe sublibUnknownImportedGlobal)
-get_property(subexe_libs TARGET subexe PROPERTY INTERFACE_LINK_LIBRARIES)
-message(STATUS "subexe: ${subexe_libs}")
diff --git a/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-GLOBAL/CMakeLists.txt b/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-GLOBAL/CMakeLists.txt
deleted file mode 100644
index 6c0c8b2..0000000
--- a/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-GLOBAL/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-add_executable(subexe ../empty.c)
-add_library(sublibUnknownImportedGlobal UNKNOWN IMPORTED GLOBAL)
-
-target_link_libraries(mainexe mainlibUnknownImportedGlobal)
-target_link_libraries(mainexe sublibUnknownImportedGlobal)
-get_property(mainexe_libs TARGET mainexe PROPERTY INTERFACE_LINK_LIBRARIES)
-message(STATUS "mainexe: ${mainexe_libs}")
diff --git a/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-stdout.txt b/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-stdout.txt
deleted file mode 100644
index 4980dc9..0000000
--- a/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-stdout.txt
+++ /dev/null
@@ -1,2 +0,0 @@
--- mainexe: mainlibUnknownImported;sublibUnknownImported
--- subexe: mainlibUnknownImported;sublibUnknownImported
diff --git a/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED.cmake b/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED.cmake
deleted file mode 100644
index e476a3f..0000000
--- a/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
-enable_language(C)
-
-add_executable(mainexe empty.c)
-add_library(mainlibUnknownImported UNKNOWN IMPORTED)
-
-add_subdirectory(SubDirTarget-UNKNOWN-IMPORTED)
-
-target_link_libraries(subexe mainlibUnknownImported)
-target_link_libraries(subexe sublibUnknownImported)
-get_property(subexe_libs TARGET subexe PROPERTY INTERFACE_LINK_LIBRARIES)
-message(STATUS "subexe: ${subexe_libs}")
diff --git a/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED/CMakeLists.txt b/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED/CMakeLists.txt
deleted file mode 100644
index 4a40a68..0000000
--- a/Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-add_executable(subexe ../empty.c)
-add_library(sublibUnknownImported UNKNOWN IMPORTED)
-
-target_link_libraries(mainexe mainlibUnknownImported)
-target_link_libraries(mainexe sublibUnknownImported)
-get_property(mainexe_libs TARGET mainexe PROPERTY INTERFACE_LINK_LIBRARIES)
-message(STATUS "mainexe: ${mainexe_libs}")
diff --git a/Tests/RunCMake/target_link_libraries/SubDirTarget-result.txt b/Tests/RunCMake/target_link_libraries/SubDirTarget-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/target_link_libraries/SubDirTarget-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/target_link_libraries/SubDirTarget-stderr.txt b/Tests/RunCMake/target_link_libraries/SubDirTarget-stderr.txt
new file mode 100644
index 0000000..5cd1f23
--- /dev/null
+++ b/Tests/RunCMake/target_link_libraries/SubDirTarget-stderr.txt
@@ -0,0 +1,5 @@
+^CMake Error at SubDirTarget.cmake:[0-9]+ \(target_link_libraries\):
+  Attempt to add link library "m" to target "subexe" which is not built in
+  this directory.
+Call Stack \(most recent call first\):
+  CMakeLists.txt:[0-9]+ \(include\)$
diff --git a/Tests/RunCMake/target_link_libraries/SubDirTarget-stdout.txt b/Tests/RunCMake/target_link_libraries/SubDirTarget-stdout.txt
deleted file mode 100644
index 646f984..0000000
--- a/Tests/RunCMake/target_link_libraries/SubDirTarget-stdout.txt
+++ /dev/null
@@ -1,2 +0,0 @@
--- mainexe: mainlib;sublib
--- subexe: mainlib;sublib
diff --git a/Tests/RunCMake/target_link_libraries/SubDirTarget.cmake b/Tests/RunCMake/target_link_libraries/SubDirTarget.cmake
index 55c658d..32431ce 100644
--- a/Tests/RunCMake/target_link_libraries/SubDirTarget.cmake
+++ b/Tests/RunCMake/target_link_libraries/SubDirTarget.cmake
@@ -1,11 +1,3 @@
 enable_language(C)
-
-add_executable(mainexe empty.c)
-add_library(mainlib empty.c)
-
 add_subdirectory(SubDirTarget)
-
-target_link_libraries(subexe mainlib)
-target_link_libraries(subexe sublib)
-get_property(subexe_libs TARGET subexe PROPERTY INTERFACE_LINK_LIBRARIES)
-message(STATUS "subexe: ${subexe_libs}")
+target_link_libraries(subexe m)
diff --git a/Tests/RunCMake/target_link_libraries/SubDirTarget/CMakeLists.txt b/Tests/RunCMake/target_link_libraries/SubDirTarget/CMakeLists.txt
index 3d956a8..b0b2380 100644
--- a/Tests/RunCMake/target_link_libraries/SubDirTarget/CMakeLists.txt
+++ b/Tests/RunCMake/target_link_libraries/SubDirTarget/CMakeLists.txt
@@ -1,7 +1 @@
 add_executable(subexe ../empty.c)
-add_library(sublib ../empty.c)
-
-target_link_libraries(mainexe mainlib)
-target_link_libraries(mainexe sublib)
-get_property(mainexe_libs TARGET mainexe PROPERTY INTERFACE_LINK_LIBRARIES)
-message(STATUS "mainexe: ${mainexe_libs}")

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

Summary of changes:
 Help/command/target_link_libraries.rst                  |  2 +-
 Help/release/3.12.rst                                   |  3 ---
 Source/cmTargetLinkLibrariesCommand.cxx                 | 11 ++---------
 Tests/RunCMake/target_link_libraries/RunCMakeTest.cmake |  3 ---
 .../SubDirImportedTarget-stdout.txt                     |  4 ----
 .../target_link_libraries/SubDirImportedTarget.cmake    | 17 -----------------
 .../SubDirImportedTarget/CMakeLists.txt                 | 13 -------------
 .../SubDirTarget-UNKNOWN-IMPORTED-GLOBAL-stdout.txt     |  2 --
 .../SubDirTarget-UNKNOWN-IMPORTED-GLOBAL.cmake          | 11 -----------
 .../SubDirTarget-UNKNOWN-IMPORTED-GLOBAL/CMakeLists.txt |  7 -------
 .../SubDirTarget-UNKNOWN-IMPORTED-stdout.txt            |  2 --
 .../SubDirTarget-UNKNOWN-IMPORTED.cmake                 | 11 -----------
 .../SubDirTarget-UNKNOWN-IMPORTED/CMakeLists.txt        |  7 -------
 .../SubDirTarget-result.txt}                            |  0
 .../target_link_libraries/SubDirTarget-stderr.txt       |  5 +++++
 .../target_link_libraries/SubDirTarget-stdout.txt       |  2 --
 Tests/RunCMake/target_link_libraries/SubDirTarget.cmake | 10 +---------
 .../target_link_libraries/SubDirTarget/CMakeLists.txt   |  6 ------
 18 files changed, 9 insertions(+), 107 deletions(-)
 delete mode 100644 Tests/RunCMake/target_link_libraries/SubDirImportedTarget-stdout.txt
 delete mode 100644 Tests/RunCMake/target_link_libraries/SubDirImportedTarget.cmake
 delete mode 100644 Tests/RunCMake/target_link_libraries/SubDirImportedTarget/CMakeLists.txt
 delete mode 100644 Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-GLOBAL-stdout.txt
 delete mode 100644 Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-GLOBAL.cmake
 delete mode 100644 Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-GLOBAL/CMakeLists.txt
 delete mode 100644 Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED-stdout.txt
 delete mode 100644 Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED.cmake
 delete mode 100644 Tests/RunCMake/target_link_libraries/SubDirTarget-UNKNOWN-IMPORTED/CMakeLists.txt
 copy Tests/RunCMake/{while/MissingArgument-result.txt => target_link_libraries/SubDirTarget-result.txt} (100%)
 create mode 100644 Tests/RunCMake/target_link_libraries/SubDirTarget-stderr.txt
 delete mode 100644 Tests/RunCMake/target_link_libraries/SubDirTarget-stdout.txt


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list