Revision 363c6c182d7c2f47e784088b7961f77458912912 authored by Max Göttlicher on 09 August 2022, 11:52:28 UTC, committed by Max Göttlicher on 09 August 2022, 11:52:28 UTC
1 parent 655a80d
CMakeLists.txt
find_package(Boost REQUIRED COMPONENTS unit_test_framework)
set(TEST_LOGGING unit_scope CACHE STRING "test log level")
function(create_test name source)
set(TEST_MAIN_FILE ${CMAKE_CURRENT_BINARY_DIR}/test/test_main.cpp)
file(WRITE ${TEST_MAIN_FILE} "#define BOOST_TEST_MODULE ${name}\n#include <boost/test/unit_test.hpp>")
add_library(${name}-test-main ${TEST_MAIN_FILE})
target_link_libraries(${name}-test-main PUBLIC Boost::unit_test_framework)
add_executable(${name} ${source})
target_link_libraries(${name} PUBLIC setgraph PRIVATE ${name}-test-main)
add_test(NAME ${name} COMMAND $<TARGET_FILE:${name}> -l ${TEST_LOGGING})
target_compile_definitions(${name} PUBLIC BOOST_TEST_DYN_LINK)
target_compile_options(${name} PRIVATE
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
-Wall -Wextra>
$<$<CXX_COMPILER_ID:MSVC>:
/W4>)
#target_precompile_headers(${name} PRIVATE boost_test_pch.h)
endfunction()
create_test(TestGraph testGraph.cpp)
create_test(TestBoostIntegration testBoostIntegration.cpp)
target_link_libraries(TestBoostIntegration PUBLIC setgraph-boost)
Computing file changes ...