diff options
author | Brad King <brad.king@kitware.com> | 2021-08-06 14:55:12 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2021-08-06 14:55:48 (GMT) |
commit | 86633cc203d58090b11e8d67aa47777575084292 (patch) | |
tree | ec35f9cc2b310284acba7c9d755d5076a4f2d308 | |
parent | f21ed57ecb1dcd3a282d73ac56286d4d8b7c7022 (diff) | |
parent | 93eb4a7bd17f0da02a5ea71426bed5c2056e9ea0 (diff) | |
download | CMake-86633cc203d58090b11e8d67aa47777575084292.zip CMake-86633cc203d58090b11e8d67aa47777575084292.tar.gz CMake-86633cc203d58090b11e8d67aa47777575084292.tar.bz2 |
Merge topic 'ninja-lwyu-ar' into release-3.21
93eb4a7bd1 Ninja: Revert accidental LINK_WHAT_YOU_USE impl for static libraries
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6418
-rw-r--r-- | Source/cmNinjaNormalTargetGenerator.cxx | 5 | ||||
-rw-r--r-- | Tests/RunCMake/LinkWhatYouUse/C.cmake | 1 | ||||
-rw-r--r-- | Tests/RunCMake/LinkWhatYouUse/CXX.cmake | 1 | ||||
-rw-r--r-- | Tests/RunCMake/LinkWhatYouUse/foo.c | 4 | ||||
-rw-r--r-- | Tests/RunCMake/LinkWhatYouUse/foo.cxx | 4 |
5 files changed, 14 insertions, 1 deletions
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx index 493bd4a..5c21d1b 100644 --- a/Source/cmNinjaNormalTargetGenerator.cxx +++ b/Source/cmNinjaNormalTargetGenerator.cxx @@ -1156,7 +1156,10 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement( this->AddModuleDefinitionFlag(linkLineComputer.get(), vars["LINK_FLAGS"], config); - if (gt->GetPropertyAsBool("LINK_WHAT_YOU_USE")) { + if (gt->GetPropertyAsBool("LINK_WHAT_YOU_USE") && + (gt->GetType() == cmStateEnums::TargetType::EXECUTABLE || + gt->GetType() == cmStateEnums::TargetType::SHARED_LIBRARY || + gt->GetType() == cmStateEnums::TargetType::MODULE_LIBRARY)) { vars["LINK_FLAGS"] += " -Wl,--no-as-needed"; } vars["LINK_FLAGS"] = globalGen->EncodeLiteral(vars["LINK_FLAGS"]); diff --git a/Tests/RunCMake/LinkWhatYouUse/C.cmake b/Tests/RunCMake/LinkWhatYouUse/C.cmake index 4c3f428..f00db30 100644 --- a/Tests/RunCMake/LinkWhatYouUse/C.cmake +++ b/Tests/RunCMake/LinkWhatYouUse/C.cmake @@ -2,3 +2,4 @@ enable_language(C) set(CMAKE_LINK_WHAT_YOU_USE TRUE) add_executable(main main.c) target_link_libraries(main m) +add_library(foo STATIC foo.c) diff --git a/Tests/RunCMake/LinkWhatYouUse/CXX.cmake b/Tests/RunCMake/LinkWhatYouUse/CXX.cmake index 9555832..5762e94 100644 --- a/Tests/RunCMake/LinkWhatYouUse/CXX.cmake +++ b/Tests/RunCMake/LinkWhatYouUse/CXX.cmake @@ -2,3 +2,4 @@ enable_language(CXX) set(CMAKE_LINK_WHAT_YOU_USE TRUE) add_executable(main main.cxx) target_link_libraries(main m) +add_library(foo STATIC foo.cxx) diff --git a/Tests/RunCMake/LinkWhatYouUse/foo.c b/Tests/RunCMake/LinkWhatYouUse/foo.c new file mode 100644 index 0000000..c83d856 --- /dev/null +++ b/Tests/RunCMake/LinkWhatYouUse/foo.c @@ -0,0 +1,4 @@ +int foo(void) +{ + return 0; +} diff --git a/Tests/RunCMake/LinkWhatYouUse/foo.cxx b/Tests/RunCMake/LinkWhatYouUse/foo.cxx new file mode 100644 index 0000000..e05eb7e --- /dev/null +++ b/Tests/RunCMake/LinkWhatYouUse/foo.cxx @@ -0,0 +1,4 @@ +int foo() +{ + return 0; +} |