[Cmake-commits] CMake branch, master, updated. v3.14.1-548-g922480e
Kitware Robot
kwrobot at kitware.com
Mon Apr 1 10:33:05 EDT 2019
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 922480e6f14fa5b248475fb58ab07c3b2ef5befa (commit)
via 6d5872a3969b75686ee7d67449581ab723559bf5 (commit)
from c5eb01d4d412610673c85ca1bf8b9d15c168ab5e (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=922480e6f14fa5b248475fb58ab07c3b2ef5befa
commit 922480e6f14fa5b248475fb58ab07c3b2ef5befa
Merge: c5eb01d 6d5872a
Author: Brad King <brad.king at kitware.com>
AuthorDate: Mon Apr 1 14:31:00 2019 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon Apr 1 10:31:11 2019 -0400
Merge topic 'allow_aliasing_unkown_targets'
6d5872a396 add_library: Now support aliasing unknown import targets
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !3148
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6d5872a3969b75686ee7d67449581ab723559bf5
commit 6d5872a3969b75686ee7d67449581ab723559bf5
Author: Robert Maynard <robert.maynard at kitware.com>
AuthorDate: Tue Mar 26 08:25:00 2019 -0400
Commit: Robert Maynard <robert.maynard at kitware.com>
CommitDate: Tue Mar 26 15:54:48 2019 -0400
add_library: Now support aliasing unknown import targets
Fixes #18327
diff --git a/Help/release/dev/allow-aliasing-unkown-import-targets.rst b/Help/release/dev/allow-aliasing-unkown-import-targets.rst
new file mode 100644
index 0000000..aa5da0c
--- /dev/null
+++ b/Help/release/dev/allow-aliasing-unkown-import-targets.rst
@@ -0,0 +1,5 @@
+allow-aliasing-unkown-import-targets
+------------------------------------
+
+* :command:`add_library` command ``ALIAS`` option learned to support
+ import libraries of the ``UNKNOWN`` type.
diff --git a/Source/cmAddLibraryCommand.cxx b/Source/cmAddLibraryCommand.cxx
index 5149333..adf4464 100644
--- a/Source/cmAddLibraryCommand.cxx
+++ b/Source/cmAddLibraryCommand.cxx
@@ -222,7 +222,9 @@ bool cmAddLibraryCommand::InitialPass(std::vector<std::string> const& args,
aliasedType != cmStateEnums::STATIC_LIBRARY &&
aliasedType != cmStateEnums::MODULE_LIBRARY &&
aliasedType != cmStateEnums::OBJECT_LIBRARY &&
- aliasedType != cmStateEnums::INTERFACE_LIBRARY) {
+ aliasedType != cmStateEnums::INTERFACE_LIBRARY &&
+ !(aliasedType == cmStateEnums::UNKNOWN_LIBRARY &&
+ aliasedTarget->IsImported())) {
std::ostringstream e;
e << "cannot create ALIAS target \"" << libName << "\" because target \""
<< aliasedName << "\" is not a library.";
diff --git a/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt b/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt
index 5b99ea7..a9edf9a 100644
--- a/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt
+++ b/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt
@@ -17,7 +17,8 @@ create_header(bing)
create_header(bung)
create_header(arguments)
create_header(list)
-create_header(target)
+create_header(target1)
+create_header(target2)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
@@ -69,14 +70,23 @@ set_property(TARGET lib4 APPEND PROPERTY INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BI
set_property(TARGET lib4 APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/foh;$<TARGET_PROPERTY:lib3,INTERFACE_INCLUDE_DIRECTORIES>")
add_library(somelib::withcolons UNKNOWN IMPORTED)
-set_property(TARGET somelib::withcolons PROPERTY IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/target")
-set_property(TARGET somelib::withcolons PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/target")
+set_property(TARGET somelib::withcolons PROPERTY IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/target1")
+set_property(TARGET somelib::withcolons PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/target1")
set_property(TARGET TargetIncludeDirectories
APPEND PROPERTY INCLUDE_DIRECTORIES
"$<TARGET_PROPERTY:somelib::withcolons,INTERFACE_INCLUDE_DIRECTORIES>"
)
+add_library(somelib_aliased UNKNOWN IMPORTED GLOBAL)
+set_property(TARGET somelib_aliased PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/target2")
+add_library(somelib::withcolons2 ALIAS somelib_aliased)
+
+set_property(TARGET TargetIncludeDirectories
+ APPEND PROPERTY INCLUDE_DIRECTORIES
+ "$<TARGET_PROPERTY:somelib::withcolons2,INTERFACE_INCLUDE_DIRECTORIES>"
+)
+
add_custom_target(test_custom_target
"some_bogus_custom_tool"
$<TARGET_PROPERTY:TargetIncludeDirectories,COMPILE_DEFINITIONS>
diff --git a/Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp b/Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp
index 2ee05e2..541ef92 100644
--- a/Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp
+++ b/Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp
@@ -10,7 +10,8 @@
#include "foo.h"
#include "list.h"
#include "prefix_foo_bar_bat.h"
-#include "target.h"
+#include "target1.h"
+#include "target2.h"
#include "ting.h"
int main(int, char**)
-----------------------------------------------------------------------
Summary of changes:
.../release/dev/allow-aliasing-unkown-import-targets.rst | 5 +++++
Source/cmAddLibraryCommand.cxx | 4 +++-
.../TargetIncludeDirectories/CMakeLists.txt | 16 +++++++++++++---
.../IncludeDirectories/TargetIncludeDirectories/main.cpp | 3 ++-
4 files changed, 23 insertions(+), 5 deletions(-)
create mode 100644 Help/release/dev/allow-aliasing-unkown-import-targets.rst
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list