check.cmake 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. macro(check var val)
  2. if(NOT "${${var}}" STREQUAL "${val}")
  3. message(SEND_ERROR "${var} is \"${${var}}\", not \"${val}\"")
  4. endif()
  5. endmacro()
  6. message(STATUS "config=[${config}]")
  7. check(test_0 "")
  8. check(test_0_with_comma "")
  9. check(test_1 "content")
  10. check(test_1_with_comma "-Wl,--no-undefined")
  11. check(test_and_0 "0")
  12. check(test_and_0_0 "0")
  13. check(test_and_0_1 "0")
  14. check(test_and_1 "1")
  15. check(test_and_1_0 "0")
  16. check(test_and_1_1 "1")
  17. check(test_and_0_invalidcontent "0")
  18. check(test_config_0 "0")
  19. check(test_config_1 "1")
  20. foreach(c debug release relwithdebinfo minsizerel)
  21. if(NOT "${test_config_${c}}" MATCHES "^(0+|1+)$")
  22. message(SEND_ERROR "test_config_${c} is \"${test_config_${c}}\", not all 0 or all 1")
  23. endif()
  24. endforeach()
  25. check(test_not_0 "1")
  26. check(test_not_1 "0")
  27. check(test_or_0 "0")
  28. check(test_or_0_0 "0")
  29. check(test_or_0_1 "1")
  30. check(test_or_1 "1")
  31. check(test_or_1_0 "1")
  32. check(test_or_1_1 "1")
  33. check(test_or_1_invalidcontent "1")
  34. check(test_bool_notfound "0")
  35. check(test_bool_foo_notfound "0")
  36. check(test_bool_true "1")
  37. check(test_bool_false "0")
  38. check(test_bool_on "1")
  39. check(test_bool_off "0")
  40. check(test_bool_no "0")
  41. check(test_bool_n "0")
  42. check(test_bool_empty "0")
  43. check(test_strequal_yes_yes "1")
  44. check(test_strequal_yes_yes_cs "0")
  45. check(test_strequal_yes_no "0")
  46. check(test_strequal_no_yes "0")
  47. check(test_strequal_angle_r "1")
  48. check(test_strequal_comma "1")
  49. check(test_strequal_angle_r_comma "0")
  50. check(test_strequal_both_empty "1")
  51. check(test_strequal_one_empty "0")
  52. check(test_angle_r ">")
  53. check(test_comma ",")
  54. check(test_colons_1 ":")
  55. check(test_colons_2 "::")
  56. check(test_colons_3 "Qt5::Core")
  57. check(test_colons_4 "C:\\\\CMake")
  58. check(test_colons_5 "C:/CMake")
  59. check(test_incomplete_1 "$<")
  60. check(test_incomplete_2 "$<something")
  61. check(test_incomplete_3 "$<something:")
  62. check(test_incomplete_4 "$<something:,")
  63. check(test_incomplete_5 "$something:,>")
  64. check(test_incomplete_6 "<something:,>")
  65. check(test_incomplete_7 "$<something::")
  66. check(test_incomplete_8 "$<something:,")
  67. check(test_incomplete_9 "$<something:,,")
  68. check(test_incomplete_10 "$<something:,:")
  69. check(test_incomplete_11 "$<something,,")
  70. check(test_incomplete_12 "$<,,")
  71. check(test_incomplete_13 "$<somespecialthing")
  72. check(test_incomplete_14 "$<>")
  73. check(test_incomplete_15 "$<some$<thing")
  74. check(test_incomplete_16 "$<BOOL:something")
  75. check(test_incomplete_17 "some$thing")
  76. check(test_incomplete_18 "$<1:some,thing")
  77. check(test_incomplete_19 "$<1:some,thing>")
  78. check(test_incomplete_20 "$<CONFIGURATION>")
  79. check(test_incomplete_21 "$<BOOL:something>")