1
0
Эх сурвалжийг харах

Strip stray semicolons when evaluating generator expressions.

Stephen Kelly 13 жил өмнө
parent
commit
ec2c67bcf3

+ 4 - 3
Source/cmGeneratorExpression.cxx

@@ -153,7 +153,8 @@ cmCompiledGeneratorExpression::~cmCompiledGeneratorExpression()
 }
 
 //----------------------------------------------------------------------------
-static std::string stripEmptyListElements(const std::string &input)
+std::string cmGeneratorExpression::StripEmptyListElements(
+                                                    const std::string &input)
 {
   std::string result;
 
@@ -223,7 +224,7 @@ static std::string stripAllGeneratorExpressions(const std::string &input)
     lastPos = pos;
     }
   result += input.substr(lastPos);
-  return stripEmptyListElements(result);
+  return cmGeneratorExpression::StripEmptyListElements(result);
 }
 
 //----------------------------------------------------------------------------
@@ -284,7 +285,7 @@ static std::string stripExportInterface(const std::string &input,
     }
   result += input.substr(lastPos);
 
-  return stripEmptyListElements(result);
+  return cmGeneratorExpression::StripEmptyListElements(result);
 }
 
 //----------------------------------------------------------------------------

+ 1 - 0
Source/cmGeneratorExpression.h

@@ -66,6 +66,7 @@ public:
 
   static bool IsValidTargetName(const std::string &input);
 
+  static std::string StripEmptyListElements(const std::string &input);
 private:
   cmGeneratorExpression(const cmGeneratorExpression &);
   void operator=(const cmGeneratorExpression &);

+ 3 - 0
Source/cmGeneratorExpressionEvaluator.cxx

@@ -508,6 +508,9 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
         }
       }
 
+    linkedTargetsContent =
+          cmGeneratorExpression::StripEmptyListElements(linkedTargetsContent);
+
     if (!prop)
       {
       if (target->IsImported())