add_library(tested-code source.c) target_link_libraries(tested-code xtest-assert) function(xtest_define_example NAME) set(TARGET_NAME "example-${NAME}") add_executable(${TARGET_NAME} ${NAME}.c ${ARGN}) if (NAME STREQUAL "all") target_compile_definitions(${TARGET_NAME} PRIVATE XTEST_ALL_EXAMPLES) endif () target_link_libraries(${TARGET_NAME} xtest tested-code) endfunction() xtest_define_example(all assertions.c expect_assertions.c fail.c float.c groups.c parameterized.c prng.c skip.c) xtest_define_example(assertions) xtest_define_example(expect_assertions) xtest_define_example(fail) xtest_define_example(float) xtest_define_example(groups) xtest_define_example(parameterized) xtest_define_example(prng) xtest_define_example(skip)