Mercurial > irccd
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" |