if(WITH_TESTS) find_package(Catch2) if(Catch2_FOUND) set(MYCATCH, Catch2::Catch2) else() message(WARNING "Catch2 not found. Assuming Catch 1.x is installed.") set(MYCATCH, "") endif() include(CTest) file(GLOB sources_tests src/tests/test_*.cpp) foreach(src ${sources_tests}) get_filename_component(bin ${src} NAME_WE) add_executable(${bin} src/tests/main.cpp ${src}) target_link_libraries(${bin} ${CMAKE_PROJECT_NAME} ${MYCATCH}) target_include_directories(${bin} PRIVATE "/usr/include/catch2") add_test(${bin} ${bin}) endforeach() endif()