CMake/Tests/RunCMake/add_test/TestLauncher.cmake
Brad King 13ece67a58 Add genex support to TEST_LAUNCHER and CROSSCOMPILING_EMULATOR
Evaluate generator expressions in these properties, as they apply to
`add_test`, `add_custom_command`, and `add_custom_target`.

The `CMAKE_CROSSCOMPILING_EMULATOR` variable's `try_run` behavior occurs
at configure time and so cannot support generator expressions.
2024-01-29 10:30:24 -05:00

29 lines
907 B
CMake

enable_language(C)
enable_testing()
add_test(NAME DoesNotUseLauncher
COMMAND ${CMAKE_COMMAND} -E echo "Hi")
add_executable(exe main.c)
get_property(test_launcher TARGET exe PROPERTY TEST_LAUNCHER)
set_property(TARGET exe PROPERTY TEST_LAUNCHER "$<1:${test_launcher}>")
add_test(NAME UsesTestLauncher
COMMAND exe)
add_test(NAME DoesNotUseTestLauncherWithGenex
COMMAND $<TARGET_FILE:exe>)
add_subdirectory(TestLauncher)
add_test(NAME UsesTestLauncherWithExecTargetFromSubdirAddedWithoutGenex
COMMAND subdir_exe_no_genex)
add_test(NAME DoesNotUseTestLauncherWithExecTargetFromSubdirAddedWithGenex
COMMAND $<TARGET_FILE:subdir_exe_with_genex>)
add_executable(local_launcher ../pseudo_emulator.c)
add_executable(use_launcher_local main.c)
set_property(TARGET use_launcher_local PROPERTY TEST_LAUNCHER "$<TARGET_FILE:local_launcher>")
add_test(NAME UsesLocalLauncher COMMAND use_launcher_local)