comparison cmake/function/IrccdDefineTest.cmake @ 489:349fe29d86d5

Tests: switch to Boost, closes #680
author David Demelier <markand@malikania.fr>
date Sun, 20 Aug 2017 08:16:39 +0200
parents beb6c638b841
children 458e34f16c1f
comparison
equal deleted inserted replaced
488:7e273b7f4f92 489:349fe29d86d5
30 # Create a unit test named test-${NAME} 30 # Create a unit test named test-${NAME}
31 # 31 #
32 # Resources files are copied VERBATIM into the same directory. 32 # Resources files are copied VERBATIM into the same directory.
33 # 33 #
34 34
35 find_package(Boost REQUIRED COMPONENTS unit_test_framework)
36
35 function(irccd_define_test) 37 function(irccd_define_test)
36 set(oneValueArgs NAME) 38 set(oneValueArgs NAME)
37 set(multiValueArgs SOURCES LIBRARIES FLAGS) 39 set(multiValueArgs SOURCES LIBRARIES FLAGS)
38 40
39 cmake_parse_arguments(TEST "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) 41 cmake_parse_arguments(TEST "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
43 endif () 45 endif ()
44 if (NOT TEST_SOURCES) 46 if (NOT TEST_SOURCES)
45 message(FATAL_ERROR "Please set SOURCES") 47 message(FATAL_ERROR "Please set SOURCES")
46 endif () 48 endif ()
47 49
48 # Always link to googletest 50 list(
49 list(APPEND TEST_LIBRARIES libirccd-test) 51 APPEND
52 TEST_LIBRARIES
53 libirccd-test
54 Boost::unit_test_framework
55 )
50 56
51 # Executable 57 # Executable
52 add_executable(test-${TEST_NAME} ${TEST_SOURCES}) 58 add_executable(test-${TEST_NAME} ${TEST_SOURCES})
53 target_link_libraries(test-${TEST_NAME} ${TEST_LIBRARIES}) 59 target_link_libraries(test-${TEST_NAME} ${TEST_LIBRARIES})
54 60
60 66
61 target_compile_definitions( 67 target_compile_definitions(
62 test-${TEST_NAME} 68 test-${TEST_NAME}
63 PRIVATE 69 PRIVATE
64 ${TEST_FLAGS} 70 ${TEST_FLAGS}
71 BOOST_TEST_DYN_LINK
65 CMAKE_SOURCE_DIR="${CMAKE_SOURCE_DIR}" 72 CMAKE_SOURCE_DIR="${CMAKE_SOURCE_DIR}"
66 CMAKE_CURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}" 73 CMAKE_CURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}"
67 SOURCEDIR="${CMAKE_CURRENT_SOURCE_DIR}" 74 SOURCEDIR="${CMAKE_CURRENT_SOURCE_DIR}"
68 BINARYDIR="${CMAKE_CURRENT_BINARY_DIR}" 75 BINARYDIR="${CMAKE_CURRENT_BINARY_DIR}"
69 IRCCD_TESTS_DIRECTORY="${CMAKE_BINARY_DIR}/tests" 76 IRCCD_TESTS_DIRECTORY="${CMAKE_BINARY_DIR}/tests"