Browse Source

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.
Brad King 8 years ago
parent
commit
218ce158f2
1 changed files with 10 additions and 2 deletions
  1. 10 2
      Source/cmLocalGenerator.cxx

+ 10 - 2
Source/cmLocalGenerator.cxx

@@ -1577,7 +1577,11 @@ void cmLocalGenerator::AddCompilerRequirementFlag(
 
 
     const char* opt =
     const char* opt =
       target->Target->GetMakefile()->GetRequiredDefinition(option_flag);
       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;
     return;
   }
   }
 
 
@@ -1587,7 +1591,11 @@ void cmLocalGenerator::AddCompilerRequirementFlag(
 
 
     if (const char* opt =
     if (const char* opt =
           target->Target->GetMakefile()->GetDefinition(option_flag)) {
           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;
       return;
     }
     }
   }
   }