mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-04 21:30:01 -05:00
e7230c71fd
Content which is incomplete as a generator expression could cause segfaults by advancing an iterator beyond end() and dereferencing it. Such incomplete generator expressions should be treated as plain text instead.
75 lines
2.3 KiB
CMake
75 lines
2.3 KiB
CMake
macro(check var val)
|
|
if(NOT "${${var}}" STREQUAL "${val}")
|
|
message(SEND_ERROR "${var} is \"${${var}}\", not \"${val}\"")
|
|
endif()
|
|
endmacro()
|
|
|
|
message(STATUS "config=[${config}]")
|
|
check(test_0 "")
|
|
check(test_0_with_comma "")
|
|
check(test_1 "content")
|
|
check(test_1_with_comma "-Wl,--no-undefined")
|
|
check(test_and_0 "0")
|
|
check(test_and_0_0 "0")
|
|
check(test_and_0_1 "0")
|
|
check(test_and_1 "1")
|
|
check(test_and_1_0 "0")
|
|
check(test_and_1_1 "1")
|
|
check(test_config_0 "0")
|
|
check(test_config_1 "1")
|
|
check(test_not_0 "1")
|
|
check(test_not_1 "0")
|
|
check(test_or_0 "0")
|
|
check(test_or_0_0 "0")
|
|
check(test_or_0_1 "1")
|
|
check(test_or_1 "1")
|
|
check(test_or_1_0 "1")
|
|
check(test_or_1_1 "1")
|
|
check(test_bool_notfound "0")
|
|
check(test_bool_foo_notfound "0")
|
|
check(test_bool_true "1")
|
|
check(test_bool_false "0")
|
|
check(test_bool_on "1")
|
|
check(test_bool_off "0")
|
|
check(test_bool_no "0")
|
|
check(test_bool_n "0")
|
|
check(test_bool_empty "0")
|
|
check(test_strequal_yes_yes "1")
|
|
check(test_strequal_yes_yes_cs "0")
|
|
check(test_strequal_yes_no "0")
|
|
check(test_strequal_no_yes "0")
|
|
check(test_strequal_angle_r "1")
|
|
check(test_strequal_comma "1")
|
|
check(test_strequal_angle_r_comma "0")
|
|
check(test_strequal_both_empty "1")
|
|
check(test_strequal_one_empty "0")
|
|
check(test_angle_r ">")
|
|
check(test_comma ",")
|
|
check(test_colons_1 ":")
|
|
check(test_colons_2 "::")
|
|
check(test_colons_3 "Qt5::Core")
|
|
check(test_colons_4 "C:\\\\CMake")
|
|
check(test_colons_5 "C:/CMake")
|
|
check(test_incomplete_1 "$<")
|
|
check(test_incomplete_2 "$<something")
|
|
check(test_incomplete_3 "$<something:")
|
|
check(test_incomplete_4 "$<something:,")
|
|
check(test_incomplete_5 "$something:,>")
|
|
check(test_incomplete_6 "<something:,>")
|
|
check(test_incomplete_7 "$<something::")
|
|
check(test_incomplete_8 "$<something:,")
|
|
check(test_incomplete_9 "$<something:,,")
|
|
check(test_incomplete_10 "$<something:,:")
|
|
check(test_incomplete_11 "$<something,,")
|
|
check(test_incomplete_12 "$<,,")
|
|
check(test_incomplete_13 "$<somespecialthing")
|
|
check(test_incomplete_14 "$<<something")
|
|
check(test_incomplete_15 "$<some$<thing")
|
|
check(test_incomplete_16 "$<<some$<thing")
|
|
check(test_incomplete_17 "some$thing")
|
|
check(test_incomplete_18 "$<1:some,thing")
|
|
check(test_incomplete_19 "$<1:some,thing>")
|
|
check(test_incomplete_20 "$<CONFIGURATION>")
|
|
check(test_incomplete_21 "$<BOOL:something>")
|
|
check(test_incomplete_22 "$<BOOL:something")
|