diff options
author | Brad King <brad.king@kitware.com> | 2019-09-25 18:09:43 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-09-30 14:30:28 (GMT) |
commit | 0733a94f648d63e8492fbcff3413cef461cb18d8 (patch) | |
tree | 516ebdb91a4fa5e832c9e3f89fd22d7bea22315d /Tests/RunCMake/add_subdirectory | |
parent | 11fb377eb96e6a90ea96126a2d22739f6983182a (diff) | |
download | CMake-0733a94f648d63e8492fbcff3413cef461cb18d8.zip CMake-0733a94f648d63e8492fbcff3413cef461cb18d8.tar.gz CMake-0733a94f648d63e8492fbcff3413cef461cb18d8.tar.bz2 |
Ninja,Makefile: Fix subdir "all" with nested EXCLUDE_FROM_ALL subdir
The "all" target defined for a subdirectory (e.g. `cd sub; make` or
`ninja sub/all`) should not include the "all" targets from nested
subdirectories (e.g. `sub/sub`) that are marked as `EXCLUDE_FROM_ALL`.
Fix this and add a test case.
Issue: #19753
Co-Author: Sebastian Holtermann <sebholt@xwmw.org>
Diffstat (limited to 'Tests/RunCMake/add_subdirectory')
6 files changed, 10 insertions, 0 deletions
diff --git a/Tests/RunCMake/add_subdirectory/ExcludeFromAll.cmake b/Tests/RunCMake/add_subdirectory/ExcludeFromAll.cmake index ff676a6..fbcfe7b 100644 --- a/Tests/RunCMake/add_subdirectory/ExcludeFromAll.cmake +++ b/Tests/RunCMake/add_subdirectory/ExcludeFromAll.cmake @@ -11,4 +11,5 @@ set(foo_lib \"$<TARGET_FILE:foo>\") set(bar_lib \"$<TARGET_FILE:bar>\") set(zot_lib \"$<TARGET_FILE:zot>\") set(subinc_lib \"$<TARGET_FILE:subinc>\") +set(subsub_lib \"$<TARGET_FILE:subsub>\") ") diff --git a/Tests/RunCMake/add_subdirectory/ExcludeFromAll/CMakeLists.txt b/Tests/RunCMake/add_subdirectory/ExcludeFromAll/CMakeLists.txt index 790da54..9ed9e55 100644 --- a/Tests/RunCMake/add_subdirectory/ExcludeFromAll/CMakeLists.txt +++ b/Tests/RunCMake/add_subdirectory/ExcludeFromAll/CMakeLists.txt @@ -1,5 +1,7 @@ project(ExcludeFromAllSub NONE) +add_subdirectory(SubSub EXCLUDE_FROM_ALL) + add_library(bar STATIC EXCLUDE_FROM_ALL bar.cpp) add_library(zot STATIC zot.cpp) diff --git a/Tests/RunCMake/add_subdirectory/ExcludeFromAll/SubSub/CMakeLists.txt b/Tests/RunCMake/add_subdirectory/ExcludeFromAll/SubSub/CMakeLists.txt new file mode 100644 index 0000000..14f7973 --- /dev/null +++ b/Tests/RunCMake/add_subdirectory/ExcludeFromAll/SubSub/CMakeLists.txt @@ -0,0 +1 @@ +add_library(subsub STATIC subsub.cpp) diff --git a/Tests/RunCMake/add_subdirectory/ExcludeFromAll/SubSub/subsub.cpp b/Tests/RunCMake/add_subdirectory/ExcludeFromAll/SubSub/subsub.cpp new file mode 100644 index 0000000..ca689ed --- /dev/null +++ b/Tests/RunCMake/add_subdirectory/ExcludeFromAll/SubSub/subsub.cpp @@ -0,0 +1,4 @@ +int subsub() +{ + return 0; +} diff --git a/Tests/RunCMake/add_subdirectory/ExcludeFromAll/check-sub.cmake b/Tests/RunCMake/add_subdirectory/ExcludeFromAll/check-sub.cmake index 297ad1e..afacf6e 100644 --- a/Tests/RunCMake/add_subdirectory/ExcludeFromAll/check-sub.cmake +++ b/Tests/RunCMake/add_subdirectory/ExcludeFromAll/check-sub.cmake @@ -18,6 +18,7 @@ if(EXISTS ${RunCMake_TEST_BINARY_DIR}/check-debug.cmake) foreach(file "${main_exe}" "${bar_lib}" + "${subsub_lib}" ) if(EXISTS "${file}") set(RunCMake_TEST_FAILED diff --git a/Tests/RunCMake/add_subdirectory/ExcludeFromAll/check.cmake b/Tests/RunCMake/add_subdirectory/ExcludeFromAll/check.cmake index 433c032..b229f4c 100644 --- a/Tests/RunCMake/add_subdirectory/ExcludeFromAll/check.cmake +++ b/Tests/RunCMake/add_subdirectory/ExcludeFromAll/check.cmake @@ -21,6 +21,7 @@ if(EXISTS ${RunCMake_TEST_BINARY_DIR}/check-debug.cmake) foreach(file "${zot_lib}" "${bar_lib}" + "${subsub_lib}" ) if(EXISTS "${file}") set(RunCMake_TEST_FAILED |