diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:39:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:39:03 +0000 |
commit | 408c608fc7bf1557ee987dd7fbe662fabed21a53 (patch) | |
tree | 8b07135336de378134bfedc808d49747174810d3 /tests/CMakeLists.txt | |
parent | Initial commit. (diff) | |
download | frozen-upstream.tar.xz frozen-upstream.zip |
Adding upstream version 1.1.1.upstream/1.1.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/CMakeLists.txt')
-rw-r--r-- | tests/CMakeLists.txt | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 0000000..2e79297 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,61 @@ +configure_file( + "${PROJECT_SOURCE_DIR}/cmake/CTestCustom.cmake" + "${PROJECT_BINARY_DIR}/CTestCustom.cmake" + COPYONLY) + +add_executable(frozen.tests "") +target_link_libraries(frozen.tests PUBLIC frozen::frozen) + +target_sources(frozen.tests PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/bench.hpp + ${CMAKE_CURRENT_LIST_DIR}/catch.hpp + ${CMAKE_CURRENT_LIST_DIR}/test_algorithms.cpp + ${CMAKE_CURRENT_LIST_DIR}/test_elsa_std.cpp + ${CMAKE_CURRENT_LIST_DIR}/test_main.cpp + ${CMAKE_CURRENT_LIST_DIR}/test_map.cpp + ${CMAKE_CURRENT_LIST_DIR}/test_rand.cpp + ${CMAKE_CURRENT_LIST_DIR}/test_set.cpp + ${CMAKE_CURRENT_LIST_DIR}/test_str.cpp + ${CMAKE_CURRENT_LIST_DIR}/test_str_set.cpp + ${CMAKE_CURRENT_LIST_DIR}/test_unordered_map.cpp + ${CMAKE_CURRENT_LIST_DIR}/test_unordered_map_str.cpp + ${CMAKE_CURRENT_LIST_DIR}/test_unordered_set.cpp + ${CMAKE_CURRENT_LIST_DIR}/test_unordered_str_set.cpp) + +string(CONCAT generator + # msvc gives invalid integral overflow warning for unsigned type + "$<$<CXX_COMPILER_ID:MSVC>:/W3;/WX;/wd4307>" + "$<$<OR:$<CXX_COMPILER_ID:GNU>" + ",$<CXX_COMPILER_ID:Clang>" + ",$<CXX_COMPILER_ID:AppleClang>>" + ":-Wall;-Wextra;-Wpedantic;-Werror;-Wshadow;" + "$<$<BOOL:${frozen.coverage}>:--coverage>>" + "$<$<CXX_COMPILER_ID:Intel>:" + "$<$<PLATFORM_ID:Windows>:/W3;/WX;>" + "$<$<NOT:$<PLATFORM_ID:Windows>>:-Wall;-Werror>>") + +target_compile_options(frozen.tests PUBLIC ${generator}) + +if(cxx_20_supported) + target_compile_features(frozen.tests PUBLIC cxx_std_20) +elseif(cxx_17_supported) + target_compile_features(frozen.tests PUBLIC cxx_std_17) +endif() + +string(CONCAT generator + "$<$<OR:$<CXX_COMPILER_ID:GNU>" + ",$<CXX_COMPILER_ID:Clang>" + ",$<CXX_COMPILER_ID:AppleClang>>" + ":$<$<BOOL:${frozen.coverage}>:--coverage>>") + +target_link_libraries(frozen.tests PUBLIC ${generator}) +add_test(NAME frozen.tests COMMAND frozen.tests) + + +add_executable(test_no_expections + ${CMAKE_CURRENT_LIST_DIR}/no_exceptions.cpp) +target_link_libraries(test_no_expections PUBLIC frozen::frozen) +target_compile_options(test_no_expections PUBLIC "-fno-exceptions") + +add_test(no_exceptions test_no_expections) +set_tests_properties(no_exceptions PROPERTIES WILL_FAIL TRUE) |