diff --git a/CMakeLists.txt b/CMakeLists.txt index fd412cc..c720226 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,9 +23,6 @@ target_link_libraries(boost_sort if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt") - include(CTest) - enable_testing() add_subdirectory(test) endif() - diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 1c99f9e..ad6895a 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -15,46 +15,29 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") add_compile_options(-Wall -Wextra -Wpedantic) endif() -add_executable(float_sort_test float_sort_test.cpp) -target_include_directories(float_sort_test PRIVATE ../include) -add_test(NAME float_sort_test COMMAND $) +if(NOT TARGET tests) + add_custom_target(tests) +endif() -add_executable(integer_sort_test integer_sort_test.cpp) -target_include_directories(integer_sort_test PRIVATE ../include) -add_test(NAME integer_sort_test COMMAND $) +set(PREFIX "boost_sort_") +set(LINK_LIBRARIES Boost::sort Boost::included_test_exec_monitor) -add_executable(sort_detail_test sort_detail_test.cpp) -target_include_directories(sort_detail_test PRIVATE ../include) -add_test(NAME sort_detail_test COMMAND $) +function(boost_sort_add_test name source) + set(pname "${PREFIX}${name}") + add_executable(${pname} ${source}) + target_link_libraries(${pname} ${LINK_LIBRARIES}) + add_test(NAME ${pname} COMMAND ${pname}) + add_dependencies(tests ${pname}) +endfunction() -add_executable(string_sort_test string_sort_test.cpp) -target_include_directories(string_sort_test PRIVATE ../include) -add_test(NAME string_sort_test COMMAND $) - -add_executable(test_block_indirect_sort test_block_indirect_sort.cpp) -target_include_directories(test_block_indirect_sort PRIVATE ../include) -add_test(NAME test_block_indirect_sort COMMAND $) - -add_executable(test_flat_stable_sort test_flat_stable_sort.cpp) -target_include_directories(test_flat_stable_sort PRIVATE ../include) -add_test(NAME test_flat_stable_sort COMMAND $) - -add_executable(test_insert_sort test_insert_sort.cpp) -target_include_directories(test_insert_sort PRIVATE ../include) -add_test(NAME test_insert_sort COMMAND $) - -add_executable(test_parallel_stable_sort test_parallel_stable_sort.cpp) -target_include_directories(test_parallel_stable_sort PRIVATE ../include) -add_test(NAME test_parallel_stable_sort COMMAND $) - -add_executable(test_pdqsort test_pdqsort.cpp) -target_include_directories(test_pdqsort PRIVATE ../include) -add_test(NAME test_pdqsort COMMAND $) - -add_executable(test_sample_sort test_sample_sort.cpp) -target_include_directories(test_sample_sort PRIVATE ../include) -add_test(NAME test_sample_sort COMMAND $) - -add_executable(test_spinsort test_spinsort.cpp) -target_include_directories(test_spinsort PRIVATE ../include) -add_test(NAME test_spinsort COMMAND $) +boost_sort_add_test(float_sort_test float_sort_test.cpp) +boost_sort_add_test(integer_sort_test integer_sort_test.cpp) +boost_sort_add_test(sort_detail_test sort_detail_test.cpp) +boost_sort_add_test(string_sort_test string_sort_test.cpp) +boost_sort_add_test(test_block_indirect_sort test_block_indirect_sort.cpp) +boost_sort_add_test(test_flat_stable_sort test_flat_stable_sort.cpp) +boost_sort_add_test(test_insert_sort test_insert_sort.cpp) +boost_sort_add_test(test_parallel_stable_sort test_parallel_stable_sort.cpp) +boost_sort_add_test(test_pdqsort test_pdqsort.cpp) +boost_sort_add_test(test_sample_sort test_sample_sort.cpp) +boost_sort_add_test(test_spinsort test_spinsort.cpp)