diff options
Diffstat (limited to 'Source/cmGeneratorExpressionEvaluator.cxx')
-rw-r--r-- | Source/cmGeneratorExpressionEvaluator.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx index 2f17915..6b2d461 100644 --- a/Source/cmGeneratorExpressionEvaluator.cxx +++ b/Source/cmGeneratorExpressionEvaluator.cxx @@ -1368,10 +1368,17 @@ static const struct CompileFeaturesNode : public cmGeneratorExpressionNode for (LangMap::const_iterator lit = testedFeatures.begin(); lit != testedFeatures.end(); ++lit) { + std::vector<std::string> const& langAvailable + = availableFeatures[lit->first]; for (std::vector<std::string>::const_iterator it = lit->second.begin(); it != lit->second.end(); ++it) { - if (!context->Makefile->HaveFeatureAvailable(target, + if (std::find(langAvailable.begin(), langAvailable.end(), *it) + == langAvailable.end()) + { + return "0"; + } + if (!context->Makefile->HaveStandardAvailable(target, lit->first, *it)) { if (evalLL) |