diff options
author | Brad King <brad.king@kitware.com> | 2018-03-15 11:55:09 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2018-03-15 11:55:14 (GMT) |
commit | 2ab900c71b21a0faae46573c2720d867a896bb29 (patch) | |
tree | 44b1045a1eb430159d7c97a1d0c599c95cf37a17 /Tests | |
parent | 67232619319dfa3ebfaa5f1cda141bfec6b3ee9b (diff) | |
parent | ce0b9832163624291db04d38984c6aa7ea8ca7d7 (diff) | |
download | CMake-2ab900c71b21a0faae46573c2720d867a896bb29.zip CMake-2ab900c71b21a0faae46573c2720d867a896bb29.tar.gz CMake-2ab900c71b21a0faae46573c2720d867a896bb29.tar.bz2 |
Merge topic 'compile-options-shell'
ce0b983216 target_compile_options: Add syntax to specify shell strings
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1841
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/CompileOptions/CMakeLists.txt | 12 | ||||
-rw-r--r-- | Tests/CompileOptions/main.cpp | 25 |
2 files changed, 37 insertions, 0 deletions
diff --git a/Tests/CompileOptions/CMakeLists.txt b/Tests/CompileOptions/CMakeLists.txt index 692e0de..c9f1710 100644 --- a/Tests/CompileOptions/CMakeLists.txt +++ b/Tests/CompileOptions/CMakeLists.txt @@ -18,9 +18,21 @@ set_property(TARGET CompileOptions PROPERTY COMPILE_OPTIONS "-DTEST_DEFINE" "-DNEEDS_ESCAPE=\"E$CAPE\"" "$<$<CXX_COMPILER_ID:GNU>:-DTEST_DEFINE_GNU>" + "SHELL:" # produces no options ${c_tests} ${cxx_tests} ) +if(BORLAND OR WATCOM) + # these compilers do not support separate -D flags + target_compile_definitions(CompileOptions PRIVATE NO_DEF_TESTS) +else() + set_property(TARGET CompileOptions APPEND PROPERTY COMPILE_OPTIONS + "SHELL:-D DEF_A" + "$<1:SHELL:-D DEF_B>" + "SHELL:-D 'DEF_C' -D \"DEF_D\"" + [[SHELL:-D "DEF_STR=\"string with spaces\""]] + ) +endif() if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|Borland|Embarcadero") set_property(TARGET CompileOptions APPEND PROPERTY COMPILE_OPTIONS diff --git a/Tests/CompileOptions/main.cpp b/Tests/CompileOptions/main.cpp index 63a0480..4779b88 100644 --- a/Tests/CompileOptions/main.cpp +++ b/Tests/CompileOptions/main.cpp @@ -12,6 +12,28 @@ #endif #endif +#ifndef NO_DEF_TESTS +#ifndef DEF_A +#error Expected definition DEF_A +#endif + +#ifndef DEF_B +#error Expected definition DEF_B +#endif + +#ifndef DEF_C +#error Expected definition DEF_C +#endif + +#ifndef DEF_D +#error Expected definition DEF_D +#endif + +#ifndef DEF_STR +#error Expected definition DEF_STR +#endif +#endif + #include <string.h> int main() @@ -20,6 +42,9 @@ int main() #ifdef TEST_OCTOTHORPE && strcmp(TEST_OCTOTHORPE, "#") == 0 #endif +#ifndef NO_DEF_TESTS + && strcmp(DEF_STR, "string with spaces") == 0 +#endif && strcmp(EXPECTED_C_COMPILER_VERSION, TEST_C_COMPILER_VERSION) == 0 && strcmp(EXPECTED_CXX_COMPILER_VERSION, TEST_CXX_COMPILER_VERSION) == |