Ver Fonte

Handle colons as a special case in the generator expression parser.

Like the special case for commas, this ensures that the colon only has
special meaning as the delimiter between the identifier and the
parameters of a particular expression, but constructs such as

 INCLUDE_DIRECTORIES "$<1:C:\foo>"

are legal.
Stephen Kelly há 13 anos atrás
pai
commit
f20af79956
1 ficheiros alterados com 5 adições e 0 exclusões
  1. 5 0
      Source/cmGeneratorExpressionParser.cxx

+ 5 - 0
Source/cmGeneratorExpressionParser.cxx

@@ -127,6 +127,11 @@ void cmGeneratorExpressionParser::ParseGeneratorExpression(
         parameters.resize(parameters.size() + 1);
         ++this->it;
         }
+      if (this->it->TokenType == cmGeneratorExpressionToken::ColonSeparator)
+        {
+        extendText(*(parameters.end() - 1), this->it);
+        ++this->it;
+        }
       if (this->it == this->Tokens.end())
         {
         break;