CMakeLists.txt 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. cmake_minimum_required (VERSION 2.8.8)
  2. project(GeneratorExpression NONE)
  3. add_custom_target(check-part1 ALL
  4. COMMAND ${CMAKE_COMMAND}
  5. -Dtest_0=$<0:nothing>
  6. -Dtest_0_with_comma=$<0:-Wl,--no-undefined>
  7. -Dtest_1=$<1:content>
  8. -Dtest_1_with_comma=$<1:-Wl,--no-undefined>
  9. -Dconfig=$<CONFIGURATION>
  10. -Dtest_and_0=$<AND:0>
  11. -Dtest_and_0_0=$<AND:0,0>
  12. -Dtest_and_0_1=$<AND:0,1>
  13. -Dtest_and_1=$<AND:1>
  14. -Dtest_and_1_0=$<AND:1,0>
  15. -Dtest_and_1_1=$<AND:1,1>
  16. # Ordinarily, the 'invalidcontent' would cause an error, but
  17. # the '0' makes the AND abort early.
  18. -Dtest_and_0_invalidcontent=$<AND:0,invalidcontent>
  19. -Dtest_config_0=$<CONFIG:$<CONFIGURATION>x>
  20. -Dtest_config_1=$<CONFIG:$<CONFIGURATION>>
  21. -Dtest_config_debug=$<CONFIG:Debug>$<CONFIG:DEBUG>$<CONFIG:DeBuG>
  22. -Dtest_config_release=$<CONFIG:Release>$<CONFIG:RELEASE>$<CONFIG:ReLeAsE>
  23. -Dtest_config_relwithdebinfo=$<CONFIG:RelWithDebInfo>$<CONFIG:RELWITHDEBINFO>$<CONFIG:relwithdebinfo>
  24. -Dtest_config_minsizerel=$<CONFIG:MinSizeRel>$<CONFIG:MINSIZEREL>$<CONFIG:minsizerel>
  25. -Dtest_not_0=$<NOT:0>
  26. -Dtest_not_1=$<NOT:1>
  27. -Dtest_or_0=$<OR:0>
  28. -Dtest_or_0_0=$<OR:0,0>
  29. -Dtest_or_0_1=$<OR:0,1>
  30. -Dtest_or_1=$<OR:1>
  31. -Dtest_or_1_0=$<OR:1,0>
  32. -Dtest_or_1_1=$<OR:1,1>
  33. -Dtest_or_1_invalidcontent=$<OR:1,invalidcontent>
  34. -Dtest_bool_notfound=$<BOOL:NOTFOUND>
  35. -Dtest_bool_foo_notfound=$<BOOL:Foo-NOTFOUND>
  36. -Dtest_bool_true=$<BOOL:True>
  37. -Dtest_bool_false=$<BOOL:False>
  38. -Dtest_bool_on=$<BOOL:On>
  39. -Dtest_bool_off=$<BOOL:Off>
  40. -Dtest_bool_no=$<BOOL:No>
  41. -Dtest_bool_n=$<BOOL:N>
  42. -Dtest_bool_empty=$<BOOL:>
  43. -Dtest_strequal_yes_yes=$<STREQUAL:Yes,Yes>
  44. -Dtest_strequal_yes_yes_cs=$<STREQUAL:Yes,yes>
  45. -Dtest_strequal_yes_no=$<STREQUAL:Yes,No>
  46. -Dtest_strequal_no_yes=$<STREQUAL:No,Yes>
  47. -Dtest_strequal_angle_r=$<STREQUAL:$<ANGLE-R>,$<ANGLE-R>>
  48. -Dtest_strequal_comma=$<STREQUAL:$<COMMA>,$<COMMA>>
  49. -Dtest_strequal_angle_r_comma=$<STREQUAL:$<ANGLE-R>,$<COMMA>>
  50. -Dtest_strequal_both_empty=$<STREQUAL:,>
  51. -Dtest_strequal_one_empty=$<STREQUAL:something,>
  52. -Dtest_angle_r=$<ANGLE-R>
  53. -Dtest_comma=$<COMMA>
  54. -Dtest_colons_1=$<1::>
  55. -Dtest_colons_2=$<1:::>
  56. -Dtest_colons_3=$<1:Qt5::Core>
  57. -Dtest_colons_4=$<1:C:\\CMake>
  58. -Dtest_colons_5=$<1:C:/CMake>
  59. -P ${CMAKE_CURRENT_SOURCE_DIR}/check-part1.cmake
  60. COMMAND ${CMAKE_COMMAND} -E echo "check done (part 1 of 2)"
  61. VERBATIM
  62. )
  63. add_custom_target(check-part2 ALL
  64. COMMAND ${CMAKE_COMMAND}
  65. -Dtest_incomplete_1=$<
  66. -Dtest_incomplete_2=$<something
  67. -Dtest_incomplete_3=$<something:
  68. -Dtest_incomplete_4=$<something:,
  69. -Dtest_incomplete_5=$something:,>
  70. -Dtest_incomplete_6=<something:,>
  71. -Dtest_incomplete_7=$<something::
  72. -Dtest_incomplete_8=$<something:,
  73. -Dtest_incomplete_9=$<something:,,
  74. -Dtest_incomplete_10=$<something:,:
  75. -Dtest_incomplete_11=$<something,,
  76. -Dtest_incomplete_12=$<,,
  77. -Dtest_incomplete_13=$<some$<1:special>thing
  78. -Dtest_incomplete_14=$<$<ANGLE-R>
  79. -Dtest_incomplete_15=$<some$<thing
  80. -Dtest_incomplete_16=$<BOOL:something
  81. -Dtest_incomplete_17=$<1:some$thing>
  82. -Dtest_incomplete_18=$<1:some,thing
  83. -Dtest_incomplete_19=$<1:some,thing$<ANGLE-R>
  84. -Dtest_incomplete_20=$<CONFIGURATION$<ANGLE-R>
  85. -Dtest_incomplete_21=$<BOOL:something$<ANGLE-R>
  86. -Dtest_build_interface=$<BUILD_INTERFACE:build>
  87. -Dtest_install_interface=$<INSTALL_INTERFACE:install>
  88. -Dtest_target_name_1=$<TARGET_NAME:tgt,ok>
  89. -Dtest_target_name_2=$<TARGET_NAME:tgt:ok>
  90. -P ${CMAKE_CURRENT_SOURCE_DIR}/check-part2.cmake
  91. COMMAND ${CMAKE_COMMAND} -E echo "check done (part 2 of 2)"
  92. VERBATIM
  93. )