include(RunCTest) | |
if(NOT TIMEOUT) | |
# Give the process time to load and start running. | |
set(TIMEOUT 4) | |
endif() | |
function(run_ctest_timeout CASE_NAME) | |
configure_file(${RunCMake_SOURCE_DIR}/TestTimeout.c | |
${RunCMake_BINARY_DIR}/${CASE_NAME}/TestTimeout.c COPYONLY) | |
run_ctest(${CASE_NAME}) | |
endfunction() | |
run_ctest_timeout(Basic) | |
if(UNIX) | |
string(CONCAT CASE_CMAKELISTS_SUFFIX_CODE [[ | |
target_compile_definitions(TestTimeout PRIVATE FORK) | |
]]) | |
run_ctest_timeout(Fork) | |
unset(CASE_CMAKELISTS_SUFFIX_CODE) | |
endif() |