diff options
author | Stephen Kelly <steveire@gmail.com> | 2013-02-25 23:50:49 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2013-05-16 17:36:31 (GMT) |
commit | a7ba4520c7b15dc9f56d2c4718748b79b12c0c89 (patch) | |
tree | 68f4bd469d6bf24fae28fc4b8e8a3c8f859016aa /Tests/CompileDefinitions | |
parent | 96ec3147bbafd52b18bcf532b0da8727cd3c8104 (diff) | |
download | CMake-a7ba4520c7b15dc9f56d2c4718748b79b12c0c89.zip CMake-a7ba4520c7b15dc9f56d2c4718748b79b12c0c89.tar.gz CMake-a7ba4520c7b15dc9f56d2c4718748b79b12c0c89.tar.bz2 |
Add the JOIN generator expression.
This generator expression joins a list with a separator. The separator
may contain arbitrary content, such as commas, which is ordinarily a
delimiter in the generator expression syntax.
Diffstat (limited to 'Tests/CompileDefinitions')
-rw-r--r-- | Tests/CompileDefinitions/compiletest.cpp | 20 | ||||
-rw-r--r-- | Tests/CompileDefinitions/target_prop/CMakeLists.txt | 6 |
2 files changed, 23 insertions, 3 deletions
diff --git a/Tests/CompileDefinitions/compiletest.cpp b/Tests/CompileDefinitions/compiletest.cpp index 14b8eab..7379380 100644 --- a/Tests/CompileDefinitions/compiletest.cpp +++ b/Tests/CompileDefinitions/compiletest.cpp @@ -20,10 +20,16 @@ static const char very_fun_string[] = CMAKE_IS_REALLY; #endif enum { - StringLiteralTest1 = sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_) == sizeof("Fun")>) + StringLiteralTest1 = sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_) == sizeof("Fun")>), #ifndef NO_SPACES_IN_DEFINE_VALUES - , - StringLiteralTest2 = sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_REALLY) == sizeof("Very Fun")>) + StringLiteralTest2 = sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_REALLY) == sizeof("Very Fun")>), +#endif +#ifdef TEST_GENERATOR_EXPRESSIONS + StringLiteralTest3 = sizeof(CMakeStaticAssert<sizeof(LETTER_LIST1) == sizeof("A,B,C,D")>), + StringLiteralTest4 = sizeof(CMakeStaticAssert<sizeof(LETTER_LIST2) == sizeof("A,,B,,C,,D")>), + StringLiteralTest5 = sizeof(CMakeStaticAssert<sizeof(LETTER_LIST3) == sizeof("A,-B,-C,-D")>), + StringLiteralTest6 = sizeof(CMakeStaticAssert<sizeof(LETTER_LIST4) == sizeof("A-,-B-,-C-,-D")>), + StringLiteralTest7 = sizeof(CMakeStaticAssert<sizeof(LETTER_LIST5) == sizeof("A-,B-,C-,D")>) #endif }; @@ -42,6 +48,14 @@ enum { #error Expected define expanded from list #endif +#ifndef PREFIX_DEF1 +#error Expect PREFIX_DEF1 +#endif + +#ifndef PREFIX_DEF2 +#error Expect PREFIX_DEF2 +#endif + // TEST_GENERATOR_EXPRESSIONS #endif diff --git a/Tests/CompileDefinitions/target_prop/CMakeLists.txt b/Tests/CompileDefinitions/target_prop/CMakeLists.txt index 1ef2d6d..34be917 100644 --- a/Tests/CompileDefinitions/target_prop/CMakeLists.txt +++ b/Tests/CompileDefinitions/target_prop/CMakeLists.txt @@ -13,6 +13,12 @@ set_property(TARGET target_prop_executable APPEND PROPERTY COMPILE_DEFINITIONS "$<1:CMAKE_IS_DECLARATIVE>" "$<0:GE_NOT_DEFINED>" "$<1:ARGUMENT;LIST>" + PREFIX_$<JOIN:DEF1;DEF2,;PREFIX_> + LETTER_LIST1=\"$<JOIN:A;B;C;D,,>\" + LETTER_LIST2=\"$<JOIN:A;B;C;D,,,>\" + LETTER_LIST3=\"$<JOIN:A;B;C;D,,->\" + LETTER_LIST4=\"$<JOIN:A;B;C;D,-,->\" + LETTER_LIST5=\"$<JOIN:A;B;C;D,-,>\" ) set_property(TARGET target_prop_executable APPEND PROPERTY COMPILE_DEFINITIONS |