diff options
author | Stephen Kelly <steveire@gmail.com> | 2013-12-26 14:59:55 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2014-01-08 15:41:34 (GMT) |
commit | 6aabb6a62b679f64e278087fc671cd33a35bf871 (patch) | |
tree | abf9f40e80fd8577e3cdda4fcd8a8cfd0b6b2037 /Tests/GeneratorExpression | |
parent | 5bb53f6b731228e4592066329e8992987289a986 (diff) | |
download | CMake-6aabb6a62b679f64e278087fc671cd33a35bf871.zip CMake-6aabb6a62b679f64e278087fc671cd33a35bf871.tar.gz CMake-6aabb6a62b679f64e278087fc671cd33a35bf871.tar.bz2 |
Genex: Use case-sensitive comparison for COMPILER_ID.
Diffstat (limited to 'Tests/GeneratorExpression')
-rw-r--r-- | Tests/GeneratorExpression/CMP0044/CMakeLists.txt | 19 | ||||
-rw-r--r-- | Tests/GeneratorExpression/CMP0044/cmp0044-check.cpp | 26 | ||||
-rw-r--r-- | Tests/GeneratorExpression/CMakeLists.txt | 6 |
3 files changed, 51 insertions, 0 deletions
diff --git a/Tests/GeneratorExpression/CMP0044/CMakeLists.txt b/Tests/GeneratorExpression/CMP0044/CMakeLists.txt new file mode 100644 index 0000000..309a8cc --- /dev/null +++ b/Tests/GeneratorExpression/CMP0044/CMakeLists.txt @@ -0,0 +1,19 @@ + +string(TOLOWER ${CMAKE_C_COMPILER_ID} lc_test) +if (lc_test STREQUAL CMAKE_C_COMPILER_ID) + string(TOUPPER ${CMAKE_C_COMPILER_ID} lc_test) + if (lc_test STREQUAL CMAKE_C_COMPILER_ID) + message(SEND_ERROR "Try harder.") + endif() +endif() + +if (CMP0044_TYPE) + cmake_policy(SET CMP0044 ${CMP0044_TYPE}) +endif() + +add_library(cmp0044-check-${CMP0044_TYPE} cmp0044-check.cpp) +target_compile_definitions(cmp0044-check-${CMP0044_TYPE} + PRIVATE + Result=$<C_COMPILER_ID:${lc_test}> + Type_Is_${CMP0044_TYPE} +) diff --git a/Tests/GeneratorExpression/CMP0044/cmp0044-check.cpp b/Tests/GeneratorExpression/CMP0044/cmp0044-check.cpp new file mode 100644 index 0000000..2356bc4 --- /dev/null +++ b/Tests/GeneratorExpression/CMP0044/cmp0044-check.cpp @@ -0,0 +1,26 @@ + +#ifdef Type_Is_ +# if !Result +# error Result should be 1 in WARN mode +# endif +#endif + +#ifdef Type_Is_NEW +# if Result +# error Result should be 0 in NEW mode +# endif +#endif + +#ifdef Type_Is_OLD +# if !Result +# error Result should be 1 in OLD mode +# endif +#endif + +#if !defined(Type_Is_) && !defined(Type_Is_OLD) && !defined(Type_Is_NEW) +#error No expected definition present +#endif + +void foo(void) +{ +} diff --git a/Tests/GeneratorExpression/CMakeLists.txt b/Tests/GeneratorExpression/CMakeLists.txt index 3b85dc3..a0e34ef 100644 --- a/Tests/GeneratorExpression/CMakeLists.txt +++ b/Tests/GeneratorExpression/CMakeLists.txt @@ -252,3 +252,9 @@ endforeach() add_test(echo-old-style echo "\$<CONFIGURATION>") set_property(TEST echo-old-style PROPERTY PASS_REGULAR_EXPRESSION "^\\$<CONFIGURATION>\n$") + +add_subdirectory(CMP0044 ${CMAKE_BINARY_DIR}/CMP0044-WARN) +set(CMP0044_TYPE NEW) +add_subdirectory(CMP0044 ${CMAKE_BINARY_DIR}/CMP0044-NEW) +set(CMP0044_TYPE OLD) +add_subdirectory(CMP0044 ${CMAKE_BINARY_DIR}/CMP0044-OLD) |