diff options
author | Craig Scott <craig.scott@crascit.com> | 2019-07-01 11:41:24 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2019-07-01 11:42:04 (GMT) |
commit | 56f5310112705c00e0e1ae876cfde633c04bd740 (patch) | |
tree | 6731cd27c366c3ab26abe3e74e10857128d3e5d1 | |
parent | 477a1ae478633a74c4dfe431a0c1e6b51194013b (diff) | |
parent | 822abf1265eacdffee37d3ed55e41425b6602e27 (diff) | |
download | CMake-56f5310112705c00e0e1ae876cfde633c04bd740.zip CMake-56f5310112705c00e0e1ae876cfde633c04bd740.tar.gz CMake-56f5310112705c00e0e1ae876cfde633c04bd740.tar.bz2 |
Merge topic 'bug/19436'
822abf1265 list(POP_FRONT): Fix always assigning first item to output vars
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3497
-rw-r--r-- | Source/cmListCommand.cxx | 2 | ||||
-rw-r--r-- | Tests/RunCMake/list/POP_FRONT.cmake | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/Source/cmListCommand.cxx b/Source/cmListCommand.cxx index 5474afa..1b01ea2 100644 --- a/Source/cmListCommand.cxx +++ b/Source/cmListCommand.cxx @@ -344,7 +344,7 @@ bool cmListCommand::HandlePopFrontCommand(std::vector<std::string> const& args) auto vi = varArgsExpanded.begin(); for (; vi != varArgsExpanded.end() && ai != args.cend(); ++ai, ++vi) { assert(!ai->empty()); - this->Makefile->AddDefinition(*ai, varArgsExpanded.front().c_str()); + this->Makefile->AddDefinition(*ai, vi->c_str()); } varArgsExpanded.erase(varArgsExpanded.begin(), vi); // Undefine the rest variables if the list gets empty earlier... diff --git a/Tests/RunCMake/list/POP_FRONT.cmake b/Tests/RunCMake/list/POP_FRONT.cmake index a2f8f3c..70f757a 100644 --- a/Tests/RunCMake/list/POP_FRONT.cmake +++ b/Tests/RunCMake/list/POP_FRONT.cmake @@ -77,3 +77,16 @@ endif() if(NOT test STREQUAL "two") message(FATAL_ERROR "`test` has unexpected value `${test}`") endif() + +# BUG 19436 +set(myList a b c) +list(POP_FRONT myList first second) +if(NOT first STREQUAL "a") + message(FATAL_ERROR "BUG#19436: `first` has unexpected value `${first}`") +endif() +if(NOT second STREQUAL "b") + message(FATAL_ERROR "BUG#19436: `second` has unexpected value `${second}`") +endif() +if(NOT myList STREQUAL "c") + message(FATAL_ERROR "BUG#19436: `myList` has unexpected value `${myList}`") +endif() |