-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
57 lines (44 loc) · 1.7 KB
/
Copy pathCMakeLists.txt
File metadata and controls
57 lines (44 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
################################################################################
# Tests
################################################################################
set(test_sources
main.cpp
test_validator.cpp
)
add_executable(unit_tests ${test_sources})
jse_add_spec(test_dependency_specs
ALIAS jse::test_dependency_specs
INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/data"
)
jse_add_spec(test_embedded_specs
ALIAS jse::test_embedded_specs
INPUT "${CMAKE_SOURCE_DIR}/data/rules_04.json"
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/embedded_specs/rules_04.hpp"
LINK_SPECS jse::test_dependency_specs
)
jse_add_spec(test_embedded_specs
INPUT "${CMAKE_SOURCE_DIR}/data/rules_01.json"
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/embedded_specs/rules_01.hpp"
)
################################################################################
# Required Libraries
################################################################################
include(catch2)
target_link_libraries(unit_tests PUBLIC Catch2::Catch2)
target_link_libraries(unit_tests PUBLIC jse::jse)
target_link_libraries(unit_tests PUBLIC jse::test_embedded_specs)
include(jse_warnings)
target_link_libraries(unit_tests PRIVATE jse::warnings)
target_compile_definitions(unit_tests PRIVATE JSE_TEST_ROOT="${CMAKE_SOURCE_DIR}/data")
if(POLYSOLVE_WITH_SANITIZERS)
add_sanitizers(unit_tests)
endif()
################################################################################
# Register tests
################################################################################
foreach(source IN ITEMS ${test_sources})
source_group("tests" FILES "${source}")
endforeach()
# Register tests
set(PARSE_CATCH_TESTS_ADD_TO_CONFIGURE_DEPENDS ON)
catch_discover_tests(unit_tests)