diff options
author | Brad King <brad.king@kitware.com> | 2013-11-02 18:49:49 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-11-02 18:51:07 (GMT) |
commit | 23d21b78e125c11a0d901eb987e5f616026ff8fd (patch) | |
tree | 6b80554df4b0c2f51e8ccfd7fd9a100620a2a400 /Tests/RunCMake/CMP0022 | |
parent | ef10b87cc1e87343a778c89d8a41d7e11ca08a7c (diff) | |
download | CMake-23d21b78e125c11a0d901eb987e5f616026ff8fd.zip CMake-23d21b78e125c11a0d901eb987e5f616026ff8fd.tar.gz CMake-23d21b78e125c11a0d901eb987e5f616026ff8fd.tar.bz2 |
Do not export INTERFACE_LINK_LIBRARIES from non-linkable targets
When cmExportFileGenerator::SetImportLinkInterface exports the old
LINK_INTERFACE_LIBRARIES property values it skips doing so for
non-linkable targets because target->GetLinkInterface returns NULL for
such targets.
Since cmExportFileGenerator::PopulateInterfaceLinkLibrariesProperty
looks at the INTERFACE_LINK_LIBRARIES property directly instead of using
the computed link interface, teach it to skip exporting the property if
target->IsLinkable returns false.
Extend the RunCMake.CMP0022 test with a case covering this. Simply
export an executable target that links to a library that is not
exported.
Diffstat (limited to 'Tests/RunCMake/CMP0022')
-rw-r--r-- | Tests/RunCMake/CMP0022/CMP0022-export-exe-stderr.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/CMP0022/CMP0022-export-exe.cmake | 9 | ||||
-rw-r--r-- | Tests/RunCMake/CMP0022/RunCMakeTest.cmake | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/Tests/RunCMake/CMP0022/CMP0022-export-exe-stderr.txt b/Tests/RunCMake/CMP0022/CMP0022-export-exe-stderr.txt new file mode 100644 index 0000000..10f3293 --- /dev/null +++ b/Tests/RunCMake/CMP0022/CMP0022-export-exe-stderr.txt @@ -0,0 +1 @@ +^$ diff --git a/Tests/RunCMake/CMP0022/CMP0022-export-exe.cmake b/Tests/RunCMake/CMP0022/CMP0022-export-exe.cmake new file mode 100644 index 0000000..d832fac --- /dev/null +++ b/Tests/RunCMake/CMP0022/CMP0022-export-exe.cmake @@ -0,0 +1,9 @@ +enable_language(CXX) + +cmake_policy(SET CMP0022 NEW) + +add_library(testLib empty_vs6_1.cpp) +add_executable(testExe empty_vs6_2.cpp) +target_link_libraries(testExe testLib) + +export(TARGETS testExe FILE "${CMAKE_CURRENT_BINARY_DIR}/cmp0022NEW-exe.cmake") diff --git a/Tests/RunCMake/CMP0022/RunCMakeTest.cmake b/Tests/RunCMake/CMP0022/RunCMakeTest.cmake index 9123f6d..45b56e4 100644 --- a/Tests/RunCMake/CMP0022/RunCMakeTest.cmake +++ b/Tests/RunCMake/CMP0022/RunCMakeTest.cmake @@ -8,4 +8,5 @@ run_cmake(CMP0022-NOWARN-shared) run_cmake(CMP0022-NOWARN-static) run_cmake(CMP0022-NOWARN-static-link_libraries) run_cmake(CMP0022-export) +run_cmake(CMP0022-export-exe) run_cmake(CMP0022-install-export) |