From 15d98a42fd2b7cadfdbc9268da3c79f389c5a3cc Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Tue, 27 Aug 2013 15:36:57 +0200 Subject: [PATCH] Genex: Fix evaluation of MAP_IMPORTED_CONFIG_ Commit 10a069b5 (Genex: Fix $ with IMPORTED targets and multiple locations., 2013-07-15) changed the logic here to include handling of the MAP_IMPORTED_CONFIG_ target property, but it was buggy in several ways. Uppercase the configs in all cases, and compare the mapped configs with the parameter to the CONFIG genex, instead of with the key of the mapping. --- Source/cmGeneratorExpressionEvaluator.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx index e0c8c9e10..abe4e7021 100644 --- a/Source/cmGeneratorExpressionEvaluator.cxx +++ b/Source/cmGeneratorExpressionEvaluator.cxx @@ -574,14 +574,15 @@ static const struct ConfigurationTestNode : public cmGeneratorExpressionNode // Check if there is a proper config mapping for the tested config. std::vector mappedConfigs; std::string mapProp = "MAP_IMPORTED_CONFIG_"; - mapProp += context->Config; + mapProp += cmSystemTools::UpperCase(context->Config); if(const char* mapValue = context->CurrentTarget->GetProperty(mapProp.c_str())) { cmSystemTools::ExpandListArgument(cmSystemTools::UpperCase(mapValue), mappedConfigs); return std::find(mappedConfigs.begin(), mappedConfigs.end(), - context->Config) != mappedConfigs.end() ? "1" : "0"; + cmSystemTools::UpperCase(parameters.front())) + != mappedConfigs.end() ? "1" : "0"; } } }