mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-07 22:30:13 -06:00
@@ -0,0 +1,5 @@
|
||||
allow-aliasing-unkown-import-targets
|
||||
------------------------------------
|
||||
|
||||
* :command:`add_library` command ``ALIAS`` option learned to support
|
||||
import libraries of the ``UNKNOWN`` type.
|
||||
@@ -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.";
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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**)
|
||||
|
||||
Reference in New Issue
Block a user