summaryrefslogtreecommitdiffstats
path: root/Tests/GeneratorExpression
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2012-10-03 22:34:03 (GMT)
committerBrad King <brad.king@kitware.com>2012-10-09 12:26:43 (GMT)
commitb3d8f5dab7f33dba4f327ab7ef4bd7ea90d6b651 (patch)
tree10345c74b3bc115a0115fd8489827ababbc07e4c /Tests/GeneratorExpression
parenta4985a9af9ed9762c1a51c369981609dd24f7425 (diff)
downloadCMake-b3d8f5dab7f33dba4f327ab7ef4bd7ea90d6b651.zip
CMake-b3d8f5dab7f33dba4f327ab7ef4bd7ea90d6b651.tar.gz
CMake-b3d8f5dab7f33dba4f327ab7ef4bd7ea90d6b651.tar.bz2
GenEx: Parse comma after colon tokens specially
Otherwise the comma is treated as plain text by ParseContent. $<STREQUAL:,> should be valid and true. $<STREQUAL:,something> should be valid and false. $<STREQUAL:,,> should be non-valid as it is 3 parameters. $<STREQUAL:something,,> should be non-valid as it is 3 parameters. Additionally, this allows reporting the correct error for other expressions. For example $<TARGET_PROPERTY:,> should be invalid because it has an empty target and empty property. It shouldn't attempt to read the property ',' on the 'implicit this' target.
Diffstat (limited to 'Tests/GeneratorExpression')
-rw-r--r--Tests/GeneratorExpression/CMakeLists.txt2
-rw-r--r--Tests/GeneratorExpression/check.cmake2
2 files changed, 4 insertions, 0 deletions
diff --git a/Tests/GeneratorExpression/CMakeLists.txt b/Tests/GeneratorExpression/CMakeLists.txt
index 79a8abb..6494107 100644
--- a/Tests/GeneratorExpression/CMakeLists.txt
+++ b/Tests/GeneratorExpression/CMakeLists.txt
@@ -37,6 +37,8 @@ add_custom_target(check ALL
-Dtest_strequal_angle_r=$<STREQUAL:$<ANGLE-R>,$<ANGLE-R>>
-Dtest_strequal_comma=$<STREQUAL:$<COMMA>,$<COMMA>>
-Dtest_strequal_angle_r_comma=$<STREQUAL:$<ANGLE-R>,$<COMMA>>
+ -Dtest_strequal_both_empty=$<STREQUAL:,>
+ -Dtest_strequal_one_empty=$<STREQUAL:something,>
-Dtest_angle_r=$<ANGLE-R>
-Dtest_comma=$<COMMA>
-P ${CMAKE_CURRENT_SOURCE_DIR}/check.cmake
diff --git a/Tests/GeneratorExpression/check.cmake b/Tests/GeneratorExpression/check.cmake
index 6fb87a2..7192470 100644
--- a/Tests/GeneratorExpression/check.cmake
+++ b/Tests/GeneratorExpression/check.cmake
@@ -38,5 +38,7 @@ check(test_strequal_no_yes "0")
check(test_strequal_angle_r "1")
check(test_strequal_comma "1")
check(test_strequal_angle_r_comma "0")
+check(test_strequal_both_empty "1")
+check(test_strequal_one_empty "0")
check(test_angle_r ">")
check(test_comma ",")