Просмотр исходного кода

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 13 лет назад
Родитель
Сommit
f20af79956
1 измененных файлов с 5 добавлено и 0 удалено
  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;