summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorExpressionEvaluator.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmGeneratorExpressionEvaluator.cxx')
-rw-r--r--Source/cmGeneratorExpressionEvaluator.cxx10
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index b239408..50334ef 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -153,10 +153,12 @@ std::string GeneratorExpressionContent::EvaluateParameters(
return std::string();
}
std::string parameter;
- for (const auto& pExprEval : *pit) {
- parameter += pExprEval->Evaluate(context, dagChecker);
- if (context->HadError) {
- return std::string();
+ if (node->ShouldEvaluateNextParameter(parameters, parameter)) {
+ for (const auto& pExprEval : *pit) {
+ parameter += pExprEval->Evaluate(context, dagChecker);
+ if (context->HadError) {
+ return std::string();
+ }
}
}
parameters.push_back(std::move(parameter));