summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-02-16 14:52:34 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2016-02-16 14:52:34 (GMT)
commite0a3009cda60c51cefda2f7cb7100786eca2e219 (patch)
tree7fed4fdf28df9dd02355f8b5da179c505fd79f03 /Source
parentdde82df24c44338f56171e2989729f6b86677900 (diff)
parentc8c45a2c4e10715e5cf05acaa0ac2c80f28b9a6a (diff)
downloadCMake-e0a3009cda60c51cefda2f7cb7100786eca2e219.zip
CMake-e0a3009cda60c51cefda2f7cb7100786eca2e219.tar.gz
CMake-e0a3009cda60c51cefda2f7cb7100786eca2e219.tar.bz2
Merge topic 'fix-cmake_parse_arguments-expansion'
c8c45a2c cmake_parse_arguments: Restore ;-list argument flattening
Diffstat (limited to 'Source')
-rw-r--r--Source/cmParseArgumentsCommand.cxx12
1 files changed, 10 insertions, 2 deletions
diff --git a/Source/cmParseArgumentsCommand.cxx b/Source/cmParseArgumentsCommand.cxx
index a861965..ca76c88 100644
--- a/Source/cmParseArgumentsCommand.cxx
+++ b/Source/cmParseArgumentsCommand.cxx
@@ -97,10 +97,18 @@ bool cmParseArgumentsCommand
} insideValues = NONE;
std::string currentArgName;
- // now iterate over the remaining arguments
- // and fill in the values where applicable
+ // Flatten ;-lists in the arguments into a single list as was done
+ // by the original function(CMAKE_PARSE_ARGUMENTS).
+ list.clear();
for(; argIter != argEnd; ++argIter)
{
+ cmSystemTools::ExpandListArgument(*argIter, list);
+ }
+
+ // iterate over the arguments list and fill in the values where applicable
+ for (argIter = list.begin(), argEnd = list.end();
+ argIter != argEnd; ++argIter)
+ {
const options_map::iterator optIter = options.find(*argIter);
if (optIter != options.end())
{