refactor: simplify test handling in CMakeLists.txt

This commit is contained in:
Marcus Holland-Moritz 2023-12-24 09:11:47 +01:00
parent 6f7c71a817
commit cce7cdd494
6 changed files with 24 additions and 36 deletions

View File

@ -590,47 +590,35 @@ if(WITH_TESTS OR WITH_BENCHMARKS)
endif() endif()
if(WITH_TESTS) if(WITH_TESTS)
list( list(APPEND DWARFS_TESTS
APPEND badfs_test
DWARFS_TEST_SRC block_merger_test
test/dwarfs.cpp compat_test
test/dwarfs_compat.cpp dwarfs_test
test/dwarfs_badfs.cpp entry_test
test/entry.cpp incompressible_categorizer_test
test/utils_test.cpp metadata_requirements_test
test/block_merger_test.cpp pcm_sample_transformer_test
test/metadata_requirements_test.cpp pcmaudio_categorizer_test
test/pcm_sample_transformer_test.cpp tools_test
test/pcmaudio_categorizer_test.cpp utils_test
test/incompressible_categorizer_test.cpp
) )
if(FLAC_FOUND) if(FLAC_FOUND)
list(APPEND DWARFS_TEST_SRC test/flac_compressor_test.cpp) list(APPEND DWARFS_TESTS flac_compressor_test)
endif() endif()
add_executable(dwarfs_test ${DWARFS_TEST_SRC}) foreach (test ${DWARFS_TESTS})
add_executable(${test} test/${test}.cpp)
target_link_libraries( target_link_libraries(
dwarfs_test ${test} test_helpers gmock gtest gtest_main
test_helpers
gmock
gtest
gtest_main
"$<LINK_LIBRARY:WHOLE_ARCHIVE,dwarfs_categorizer>" "$<LINK_LIBRARY:WHOLE_ARCHIVE,dwarfs_categorizer>"
) )
target_compile_definitions(${test}
target_compile_definitions(dwarfs_test
PRIVATE TEST_DATA_DIR=\"${CMAKE_SOURCE_DIR}/test\")
list(APPEND TEST_TARGETS dwarfs_test)
add_executable(dwarfs_tools_test test/dwarfs_tools.cpp)
target_link_libraries(dwarfs_tools_test test_helpers gtest gtest_main)
target_compile_definitions(dwarfs_tools_test
PRIVATE TEST_DATA_DIR=\"${CMAKE_SOURCE_DIR}/test\" PRIVATE TEST_DATA_DIR=\"${CMAKE_SOURCE_DIR}/test\"
TOOLS_BIN_DIR=\"${CMAKE_CURRENT_BINARY_DIR}\") TOOLS_BIN_DIR=\"${CMAKE_CURRENT_BINARY_DIR}\")
list(APPEND TEST_TARGETS dwarfs_tools_test) list(APPEND TEST_TARGETS ${test})
endforeach()
foreach(tgt ${TEST_TARGETS}) foreach(tgt ${TEST_TARGETS})
gtest_discover_tests(${tgt} DISCOVERY_TIMEOUT 120) gtest_discover_tests(${tgt} DISCOVERY_TIMEOUT 120)