diff options
author | Marc Chevrier <marc.chevrier@gmail.com> | 2018-09-14 16:10:58 (GMT) |
---|---|---|
committer | Marc Chevrier <marc.chevrier@gmail.com> | 2018-09-14 16:10:58 (GMT) |
commit | 6da8b67c3f9c07352fa36e717e79e15ef36495f3 (patch) | |
tree | 39a27099e098c5576d0a9de4492dc1d30131dc1b | |
parent | f0c84346ed25f6b8ce3a9f79aece87a58c8a4748 (diff) | |
download | CMake-6da8b67c3f9c07352fa36e717e79e15ef36495f3.zip CMake-6da8b67c3f9c07352fa36e717e79e15ef36495f3.tar.gz CMake-6da8b67c3f9c07352fa36e717e79e15ef36495f3.tar.bz2 |
target_link_options: fix erroneous handling of BEFORE keyword.
-rw-r--r-- | Source/cmTargetLinkOptionsCommand.cxx | 4 | ||||
-rw-r--r-- | Tests/CMakeCommands/target_link_options/CMakeLists.txt | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/Source/cmTargetLinkOptionsCommand.cxx b/Source/cmTargetLinkOptionsCommand.cxx index f0f13fd..d6ed5ae 100644 --- a/Source/cmTargetLinkOptionsCommand.cxx +++ b/Source/cmTargetLinkOptionsCommand.cxx @@ -33,9 +33,9 @@ std::string cmTargetLinkOptionsCommand::Join( } bool cmTargetLinkOptionsCommand::HandleDirectContent( - cmTarget* tgt, const std::vector<std::string>& content, bool, bool) + cmTarget* tgt, const std::vector<std::string>& content, bool prepend, bool) { cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - tgt->InsertLinkOption(this->Join(content), lfbt); + tgt->InsertLinkOption(this->Join(content), lfbt, prepend); return true; // Successfully handled. } diff --git a/Tests/CMakeCommands/target_link_options/CMakeLists.txt b/Tests/CMakeCommands/target_link_options/CMakeLists.txt index 3bb6ff3..e84d041 100644 --- a/Tests/CMakeCommands/target_link_options/CMakeLists.txt +++ b/Tests/CMakeCommands/target_link_options/CMakeLists.txt @@ -24,3 +24,11 @@ get_target_property(result target_link_options_3 INTERFACE_LINK_OPTIONS) if (NOT result MATCHES "-INTERFACE_FLAG") message(SEND_ERROR "target_link_options not populated the INTERFACE_LINK_OPTIONS target property of static library") endif() + +add_library(target_link_options_4 SHARED EXCLUDE_FROM_ALL LinkOptionsLib.c) +target_link_options(target_link_options_4 PRIVATE -PRIVATE_FLAG) +target_link_options(target_link_options_4 BEFORE PRIVATE -BEFORE_PRIVATE_FLAG) +get_target_property(result target_link_options_4 LINK_OPTIONS) +if (NOT result MATCHES "-BEFORE_PRIVATE_FLAG.*-PRIVATE_FLAG") + message(SEND_ERROR "target_link_options not managing correctly 'BEFORE' keyword") +endif() |