macro(add_test_exec tgt) add_executable(${tgt} ${ARGN}) target_link_libraries(${tgt} fiber) target_compile_options(${tgt} PRIVATE ${cflags}) if(CMU_COMP_MSVC) target_compile_definitions(${tgt} PRIVATE _CRT_SECURE_NO_WARNINGS=1) endif() if(FIBER_LTO) set_property(TARGET ${tgt} PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) endif() endmacro() macro(add_test_run tgt) add_test_exec("${tgt}_exec" ${ARGN}) add_test( NAME "${tgt}_run" COMMAND "${tgt}_exec" "test_${tgt}.out" ) add_test( "${tgt}_cmp" ${CMAKE_COMMAND} -E compare_files "test_${tgt}.out" "${CMAKE_CURRENT_SOURCE_DIR}/test_${tgt}.out" ) add_test( "${tgt}_build" "${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}" --config $ --target "${tgt}_exec" ) set_tests_properties("${tgt}_build" PROPERTIES FIXTURES_SETUP "${tgt}_build_fixture") set_tests_properties("${tgt}_run" PROPERTIES FIXTURES_REQUIRED "${tgt}_build_fixture") set_tests_properties("${tgt}_run" PROPERTIES FIXTURES_SETUP "${tgt}_run_fixture") # set_tests_properties("${tgt}_run" PROPERTIES ENVIRONMENT PATH="$") set_tests_properties("${tgt}_cmp" PROPERTIES FIXTURES_REQUIRED "${tgt}_run_fixture") endmacro() add_test_exec(hello hello.c) add_test_run(basic basic.c) add_test_run(coop coop.c) add_test_run(generators generators.c) add_test_run(fp_stress fp_stress.c)