summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-09-17 13:25:24 (GMT)
committerKitware Robot <kwrobot@kitware.com>2018-09-17 13:25:40 (GMT)
commit2af106a43a259533b0cec262ca368f577c3925b0 (patch)
tree44fc256d740389f46a15f3d429f177f9ed7695dd
parent7bf9796f3d0170f35c674635c9a274b982ba5436 (diff)
parent6da8b67c3f9c07352fa36e717e79e15ef36495f3 (diff)
downloadCMake-2af106a43a259533b0cec262ca368f577c3925b0.zip
CMake-2af106a43a259533b0cec262ca368f577c3925b0.tar.gz
CMake-2af106a43a259533b0cec262ca368f577c3925b0.tar.bz2
Merge topic 'link-options'
6da8b67c3f target_link_options: fix erroneous handling of BEFORE keyword. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2384
-rw-r--r--Source/cmTargetLinkOptionsCommand.cxx4
-rw-r--r--Tests/CMakeCommands/target_link_options/CMakeLists.txt8
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()