52 lines
1.3 KiB
CMake
52 lines
1.3 KiB
CMake
cmake_minimum_required(VERSION 3.1)
|
|
|
|
project(${project_name}_tests)
|
|
|
|
enable_testing()
|
|
|
|
include_directories(${catch_source_dir}/include)
|
|
|
|
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/test_results/unit)
|
|
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/test_results/benchmark)
|
|
|
|
# copy test data
|
|
file(COPY ${CMAKE_SOURCE_DIR}/tests/data
|
|
DESTINATION ${CMAKE_BINARY_DIR}/tests)
|
|
|
|
# move test data data to the build directory
|
|
if (UNIX)
|
|
set(test_data "tests/data")
|
|
set(test_data_src "${CMAKE_SOURCE_DIR}/${test_data}")
|
|
set(test_data_dst "${CMAKE_BINARY_DIR}/${test_data}")
|
|
add_custom_target (test_data
|
|
COMMAND rm -rf ${test_data_dst}
|
|
COMMAND cp -r ${test_data_src} ${test_data_dst}
|
|
)
|
|
endif (UNIX)
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# benchmark test binaries
|
|
if (ALL_TESTS OR BENCHMARK_TESTS)
|
|
add_subdirectory(${PROJECT_SOURCE_DIR}/benchmark)
|
|
endif()
|
|
|
|
# concurrent test binaries
|
|
if (ALL_TESTS OR CONCURRENT_TESTS)
|
|
add_subdirectory(${PROJECT_SOURCE_DIR}/concurrent)
|
|
endif()
|
|
|
|
# integration test binaries
|
|
if (ALL_TESTS OR INTEGRATION_TESTS)
|
|
add_subdirectory(${PROJECT_SOURCE_DIR}/integration)
|
|
endif()
|
|
|
|
# manual test binaries
|
|
if (ALL_TESTS OR MANUAL_TESTS)
|
|
add_subdirectory(${PROJECT_SOURCE_DIR}/manual)
|
|
endif()
|
|
|
|
# unit test binaries
|
|
if (ALL_TESTS OR UNIT_TESTS)
|
|
add_subdirectory(${PROJECT_SOURCE_DIR}/unit)
|
|
endif()
|