ssp/test/CMakeLists.txt

47 lines
1.4 KiB
CMake
Raw Normal View History

2021-01-06 02:38:31 +01:00
cmake_minimum_required(VERSION 3.14)
project(ssp_tests CXX)
# ---- Dependencies ----
include(FetchContent)
FetchContent_Declare(ssp SOURCE_DIR "${PROJECT_SOURCE_DIR}/..")
FetchContent_MakeAvailable(ssp)
2021-01-06 02:38:31 +01:00
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
2023-02-08 21:54:44 +01:00
target_compile_options(ssp INTERFACE -Wall -Wextra)
2021-01-06 02:38:31 +01:00
endif()
if (MSVC)
add_compile_options(/bigobj)
2023-07-31 23:30:26 +02:00
elseif (MINGW)
2024-02-18 23:13:16 +01:00
add_compile_options(-Wa -mbig-obj -Wl --default-image-base-low)
endif ()
2023-02-12 12:23:25 +01:00
include(FetchContent)
FetchContent_Declare(
2023-02-12 12:23:25 +01:00
DOCTEST
GIT_REPOSITORY https://github.com/red0124/doctest
GIT_TAG origin/master
GIT_SHALLOW TRUE)
2023-02-12 12:23:25 +01:00
FetchContent_MakeAvailable(DOCTEST)
2023-02-12 12:23:25 +01:00
set(DOCTEST "${FETCHCONTENT_BASE_DIR}/doctest-src")
2021-01-06 02:38:31 +01:00
# ---- Test ----
enable_testing()
2024-02-17 21:08:24 +01:00
foreach(name IN ITEMS test_splitter test_parser1_1 test_parser1_2
2024-02-17 21:10:25 +01:00
test_parser1_3 test_parser1_4 test_converter
2024-02-17 21:08:24 +01:00
test_extractions test_parser2_1 test_parser2_2
test_parser2_3 test_parser2_4
test_extractions_without_fast_float)
2023-02-08 21:54:44 +01:00
add_executable("${name}" "${name}.cpp")
target_link_libraries("${name}" PRIVATE ssp::ssp fast_float
doctest::doctest)
2023-02-08 21:54:44 +01:00
target_compile_definitions(
"${name}" PRIVATE DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN CMAKE_GITHUB_CI)
2023-02-12 12:23:25 +01:00
add_test(NAME "${name}" COMMAND "${name}")
2021-01-06 02:38:31 +01:00
endforeach()