Merge topic 'genex-SEMICOLON'
7f3bb8b
Add $<SEMICOLON> generator expression.
This commit is contained in:
commit
7d9d0efc7b
|
@ -26,6 +26,8 @@
|
||||||
"strings which contain a '>' for example.\n" \
|
"strings which contain a '>' for example.\n" \
|
||||||
" $<COMMA> = A literal ','. Used to compare " \
|
" $<COMMA> = A literal ','. Used to compare " \
|
||||||
"strings which contain a ',' for example.\n" \
|
"strings which contain a ',' for example.\n" \
|
||||||
|
" $<SEMICOLON> = A literal ';'. Used to prevent " \
|
||||||
|
"list expansion on an argument with ';'.\n" \
|
||||||
" $<TARGET_NAME:...> = Marks ... as being the name of a " \
|
" $<TARGET_NAME:...> = Marks ... as being the name of a " \
|
||||||
"target. This is required if exporting targets to multiple " \
|
"target. This is required if exporting targets to multiple " \
|
||||||
"dependent export sets. The '...' must be a literal name of a " \
|
"dependent export sets. The '...' must be a literal name of a " \
|
||||||
|
|
|
@ -226,6 +226,22 @@ static const struct CommaNode : public cmGeneratorExpressionNode
|
||||||
}
|
}
|
||||||
} commaNode;
|
} commaNode;
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
static const struct SemicolonNode : public cmGeneratorExpressionNode
|
||||||
|
{
|
||||||
|
SemicolonNode() {}
|
||||||
|
|
||||||
|
virtual int NumExpectedParameters() const { return 0; }
|
||||||
|
|
||||||
|
std::string Evaluate(const std::vector<std::string> &,
|
||||||
|
cmGeneratorExpressionContext *,
|
||||||
|
const GeneratorExpressionContent *,
|
||||||
|
cmGeneratorExpressionDAGChecker *) const
|
||||||
|
{
|
||||||
|
return ";";
|
||||||
|
}
|
||||||
|
} semicolonNode;
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
static const struct ConfigurationNode : public cmGeneratorExpressionNode
|
static const struct ConfigurationNode : public cmGeneratorExpressionNode
|
||||||
{
|
{
|
||||||
|
@ -943,6 +959,8 @@ cmGeneratorExpressionNode* GetNode(const std::string &identifier)
|
||||||
return &angle_rNode;
|
return &angle_rNode;
|
||||||
else if (identifier == "COMMA")
|
else if (identifier == "COMMA")
|
||||||
return &commaNode;
|
return &commaNode;
|
||||||
|
else if (identifier == "SEMICOLON")
|
||||||
|
return &semicolonNode;
|
||||||
else if (identifier == "TARGET_PROPERTY")
|
else if (identifier == "TARGET_PROPERTY")
|
||||||
return &targetPropertyNode;
|
return &targetPropertyNode;
|
||||||
else if (identifier == "TARGET_NAME")
|
else if (identifier == "TARGET_NAME")
|
||||||
|
|
|
@ -47,11 +47,13 @@ add_custom_target(check-part1 ALL
|
||||||
-Dtest_strequal_no_yes=$<STREQUAL:No,Yes>
|
-Dtest_strequal_no_yes=$<STREQUAL:No,Yes>
|
||||||
-Dtest_strequal_angle_r=$<STREQUAL:$<ANGLE-R>,$<ANGLE-R>>
|
-Dtest_strequal_angle_r=$<STREQUAL:$<ANGLE-R>,$<ANGLE-R>>
|
||||||
-Dtest_strequal_comma=$<STREQUAL:$<COMMA>,$<COMMA>>
|
-Dtest_strequal_comma=$<STREQUAL:$<COMMA>,$<COMMA>>
|
||||||
|
-Dtest_strequal_semicolon=$<STREQUAL:$<SEMICOLON>,$<SEMICOLON>>
|
||||||
-Dtest_strequal_angle_r_comma=$<STREQUAL:$<ANGLE-R>,$<COMMA>>
|
-Dtest_strequal_angle_r_comma=$<STREQUAL:$<ANGLE-R>,$<COMMA>>
|
||||||
-Dtest_strequal_both_empty=$<STREQUAL:,>
|
-Dtest_strequal_both_empty=$<STREQUAL:,>
|
||||||
-Dtest_strequal_one_empty=$<STREQUAL:something,>
|
-Dtest_strequal_one_empty=$<STREQUAL:something,>
|
||||||
-Dtest_angle_r=$<ANGLE-R>
|
-Dtest_angle_r=$<ANGLE-R>
|
||||||
-Dtest_comma=$<COMMA>
|
-Dtest_comma=$<COMMA>
|
||||||
|
-Dtest_semicolon=$<SEMICOLON>
|
||||||
-Dtest_colons_1=$<1::>
|
-Dtest_colons_1=$<1::>
|
||||||
-Dtest_colons_2=$<1:::>
|
-Dtest_colons_2=$<1:::>
|
||||||
-Dtest_colons_3=$<1:Qt5::Core>
|
-Dtest_colons_3=$<1:Qt5::Core>
|
||||||
|
|
|
@ -44,11 +44,13 @@ check(test_strequal_yes_no "0")
|
||||||
check(test_strequal_no_yes "0")
|
check(test_strequal_no_yes "0")
|
||||||
check(test_strequal_angle_r "1")
|
check(test_strequal_angle_r "1")
|
||||||
check(test_strequal_comma "1")
|
check(test_strequal_comma "1")
|
||||||
|
check(test_strequal_semicolon "1")
|
||||||
check(test_strequal_angle_r_comma "0")
|
check(test_strequal_angle_r_comma "0")
|
||||||
check(test_strequal_both_empty "1")
|
check(test_strequal_both_empty "1")
|
||||||
check(test_strequal_one_empty "0")
|
check(test_strequal_one_empty "0")
|
||||||
check(test_angle_r ">")
|
check(test_angle_r ">")
|
||||||
check(test_comma ",")
|
check(test_comma ",")
|
||||||
|
check(test_semicolon ";")
|
||||||
check(test_colons_1 ":")
|
check(test_colons_1 ":")
|
||||||
check(test_colons_2 "::")
|
check(test_colons_2 "::")
|
||||||
check(test_colons_3 "Qt5::Core")
|
check(test_colons_3 "Qt5::Core")
|
||||||
|
|
Loading…
Reference in New Issue