Changeset View
Changeset View
Standalone View
Standalone View
cmake/modules/TestSuite.cmake
Show All 10 Lines | macro(create_test_suite NAME) | ||||
endif() | endif() | ||||
endmacro(create_test_suite) | endmacro(create_test_suite) | ||||
function(add_test_to_suite SUITE NAME) | function(add_test_to_suite SUITE NAME) | ||||
add_executable(${NAME} EXCLUDE_FROM_ALL ${ARGN}) | add_executable(${NAME} EXCLUDE_FROM_ALL ${ARGN}) | ||||
add_test(${NAME} ${NAME}) | add_test(${NAME} ${NAME}) | ||||
add_dependencies("check-${SUITE}" ${NAME}) | add_dependencies("check-${SUITE}" ${NAME}) | ||||
endfunction(add_test_to_suite) | endfunction(add_test_to_suite) | ||||
# We need to detect if the BOOST_TEST_DYN_LINK flag is required | |||||
function(link_boost_libraries EXEC) | |||||
find_package(Boost 1.58 REQUIRED unit_test_framework) | |||||
target_link_libraries(${EXEC} Boost::unit_test_framework) | |||||
set(CMAKE_REQUIRED_LIBRARIES Boost::unit_test_framework) | |||||
include(CheckCXXSourceCompiles) | |||||
check_cxx_source_compiles(" | |||||
#define BOOST_TEST_DYN_LINK | |||||
#define BOOST_TEST_MAIN | |||||
#include <boost/test/unit_test.hpp> | |||||
" BOOST_TEST_DYN_LINK) | |||||
if(BOOST_TEST_DYN_LINK) | |||||
target_compile_definitions(${EXEC} PRIVATE BOOST_TEST_DYN_LINK) | |||||
endif(BOOST_TEST_DYN_LINK) | |||||
endfunction(link_boost_libraries) |