summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-07-14 14:11:10 (GMT)
committerBrad King <brad.king@kitware.com>2017-07-14 14:19:44 (GMT)
commit218ce158f2d9b25bc5789a28d742736129cdb088 (patch)
tree1c6e397fd69024ae4a8d6f596fc1338db08ad98c /Source/cmLocalGenerator.cxx
parent25b72e9097260d1faf254155a1199886c808a58f (diff)
downloadCMake-218ce158f2d9b25bc5789a28d742736129cdb088.zip
CMake-218ce158f2d9b25bc5789a28d742736129cdb088.tar.gz
CMake-218ce158f2d9b25bc5789a28d742736129cdb088.tar.bz2
Features: Fix support for a list of language standard options
The change in commit v3.9.0-rc1~174^2~2 (CompileFeatures: Let STD compile options be a list, 2016-10-05) did not change all the places we add the language standard options. Expand the list in the other places.
Diffstat (limited to 'Source/cmLocalGenerator.cxx')
-rw-r--r--Source/cmLocalGenerator.cxx12
1 files changed, 10 insertions, 2 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 8e00303..b240c7a 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -1577,7 +1577,11 @@ void cmLocalGenerator::AddCompilerRequirementFlag(
const char* opt =
target->Target->GetMakefile()->GetRequiredDefinition(option_flag);
- this->AppendFlagEscape(flags, opt);
+ std::vector<std::string> optVec;
+ cmSystemTools::ExpandListArgument(opt, optVec);
+ for (size_t i = 0; i < optVec.size(); ++i) {
+ this->AppendFlagEscape(flags, optVec[i]);
+ }
return;
}
@@ -1587,7 +1591,11 @@ void cmLocalGenerator::AddCompilerRequirementFlag(
if (const char* opt =
target->Target->GetMakefile()->GetDefinition(option_flag)) {
- this->AppendFlagEscape(flags, opt);
+ std::vector<std::string> optVec;
+ cmSystemTools::ExpandListArgument(opt, optVec);
+ for (size_t i = 0; i < optVec.size(); ++i) {
+ this->AppendFlagEscape(flags, optVec[i]);
+ }
return;
}
}