# This tests setting the TEST_LAUNCHER target property from the # CMAKE_TEST_LAUNCHER variable. enable_language(C) # -DCMAKE_TEST_LAUNCHER=/path/to/pseudo_emulator is passed to this # test add_executable(target_with_test_launcher main.c) get_property(launcher TARGET target_with_test_launcher PROPERTY TEST_LAUNCHER) if(NOT "${launcher}" MATCHES "pseudo_emulator") message(SEND_ERROR "Default TEST_LAUNCHER property not set") endif() set_property(TARGET target_with_test_launcher PROPERTY TEST_LAUNCHER "another_test_launcher") get_property(launcher TARGET target_with_test_launcher PROPERTY TEST_LAUNCHER) if(NOT "${launcher}" MATCHES "another_test_launcher") message(SEND_ERROR "set_property/get_property TEST_LAUNCHER is not consistent") endif() unset(CMAKE_TEST_LAUNCHER CACHE) add_executable(target_without_test_launcher main.c) get_property(launcher TARGET target_without_test_launcher PROPERTY TEST_LAUNCHER) if(NOT "${launcher}" STREQUAL "") message(SEND_ERROR "Default TEST_LAUNCHER property not set to null") endif() add_executable(target_with_empty_test_launcher main.c) set_property(TARGET target_with_empty_test_launcher PROPERTY TEST_LAUNCHER "") enable_testing() add_test(NAME test_target_with_empty_test_launcher COMMAND target_with_empty_test_launcher)