diff options
author | Brad King <brad.king@kitware.com> | 2021-06-30 11:27:43 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2021-06-30 11:27:49 (GMT) |
commit | 25c2fed01b18c9d58f140d7a5a22648e5bd28421 (patch) | |
tree | 28b1fc5c2059711b7e0c178b985d68964b79cf07 /Tests | |
parent | 249363f579ef508bd59ae2a7c40806bb86e062d4 (diff) | |
parent | e27a76f1311ab4ad1be07df018ac748d4b725cea (diff) | |
download | CMake-25c2fed01b18c9d58f140d7a5a22648e5bd28421.zip CMake-25c2fed01b18c9d58f140d7a5a22648e5bd28421.tar.gz CMake-25c2fed01b18c9d58f140d7a5a22648e5bd28421.tar.bz2 |
Merge topic 'tll-out-of-dir' into release-3.21
e27a76f131 target_link_libraries: Restore transitive out-of-dir linking
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6285
Diffstat (limited to 'Tests')
4 files changed, 16 insertions, 0 deletions
diff --git a/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt b/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt index aa8e21a..07ec4e3 100644 --- a/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt +++ b/Tests/CMakeCommands/target_link_libraries/CMakeLists.txt @@ -140,6 +140,8 @@ cmake_policy(PUSH) cmake_policy(SET CMP0022 NEW) cmake_policy(SET CMP0079 NEW) add_executable(TopDir TopDir.c) +add_library(TopDirInterface INTERFACE) +target_link_libraries(TopDir PRIVATE TopDirInterface) add_subdirectory(SubDirA) add_subdirectory(SubDirB) target_link_libraries(SubDirB TopDirImported) diff --git a/Tests/CMakeCommands/target_link_libraries/SubDirA/CMakeLists.txt b/Tests/CMakeCommands/target_link_libraries/SubDirA/CMakeLists.txt index 4dae103..df7c483 100644 --- a/Tests/CMakeCommands/target_link_libraries/SubDirA/CMakeLists.txt +++ b/Tests/CMakeCommands/target_link_libraries/SubDirA/CMakeLists.txt @@ -3,6 +3,8 @@ add_executable(SubDirA SubDirA.c) # Link to a target imported in this directory that would not normally # be visible to the directory in which TopDir is defined. target_link_libraries(TopDir PUBLIC SameNameImported) +# Do the same through an interface library in the top. +target_link_libraries(TopDirInterface INTERFACE SameNameImported2) # Link SubDirA to a target imported in this directory that has the same # name as a target imported in SubDirB's directory. SubDirB will also @@ -13,3 +15,5 @@ target_link_libraries(SubDirA PRIVATE SameNameImported) # Distinguish this copy by having a unique usage requirement. add_library(SameNameImported IMPORTED INTERFACE) target_compile_definitions(SameNameImported INTERFACE DEF_SameNameImportedSubDirA) +add_library(SameNameImported2 INTERFACE IMPORTED) +target_compile_definitions(SameNameImported2 INTERFACE DEF_SameNameImported2SubDirA) diff --git a/Tests/CMakeCommands/target_link_libraries/SubDirB/CMakeLists.txt b/Tests/CMakeCommands/target_link_libraries/SubDirB/CMakeLists.txt index 06d1111..9af577c 100644 --- a/Tests/CMakeCommands/target_link_libraries/SubDirB/CMakeLists.txt +++ b/Tests/CMakeCommands/target_link_libraries/SubDirB/CMakeLists.txt @@ -3,6 +3,8 @@ add_executable(SubDirB SubDirB.c) # Link to a target imported in this directory that would not normally # be visible to the directory in which TopDir is defined. target_link_libraries(TopDir PUBLIC debug SameNameImported optimized SameNameImported) +# Do the same through an interface library in the top. +target_link_libraries(TopDirInterface INTERFACE debug SameNameImported2 optimized SameNameImported2) # Link to a list of targets imported in this directory that would not # normally be visible to the directory in which TopDir is defined. @@ -17,3 +19,5 @@ target_link_libraries(SubDirA PRIVATE SameNameImported) # Distinguish this copy by having a unique usage requirement. add_library(SameNameImported IMPORTED INTERFACE) target_compile_definitions(SameNameImported INTERFACE DEF_SameNameImportedSubDirB) +add_library(SameNameImported2 INTERFACE IMPORTED) +target_compile_definitions(SameNameImported2 INTERFACE DEF_SameNameImported2SubDirB) diff --git a/Tests/CMakeCommands/target_link_libraries/TopDir.c b/Tests/CMakeCommands/target_link_libraries/TopDir.c index d8066e5..708b5c1 100644 --- a/Tests/CMakeCommands/target_link_libraries/TopDir.c +++ b/Tests/CMakeCommands/target_link_libraries/TopDir.c @@ -4,6 +4,12 @@ #ifndef DEF_SameNameImportedSubDirB # error "DEF_SameNameImportedSubDirB is not defined but should be!" #endif +#ifndef DEF_SameNameImported2SubDirA +# error "DEF_SameNameImported2SubDirA is not defined but should be!" +#endif +#ifndef DEF_SameNameImported2SubDirB +# error "DEF_SameNameImported2SubDirB is not defined but should be!" +#endif #ifdef DEF_TopDirImported # error "DEF_TopDirImported is defined but should not be!" #endif |