Преглед на файлове

Genex: Fix evaluation of MAP_IMPORTED_CONFIG_<CONFIG>

Commit 10a069b5 (Genex: Fix $<CONFIG> with IMPORTED targets and
multiple locations., 2013-07-15) changed the logic here to include
handling of the MAP_IMPORTED_CONFIG_<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.
Stephen Kelly преди 12 години
родител
ревизия
15d98a42fd
променени са 1 файла, в които са добавени 3 реда и са изтрити 2 реда
  1. 3 2
      Source/cmGeneratorExpressionEvaluator.cxx

+ 3 - 2
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<std::string> 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";
           }
         }
       }