17 lines
1.1 KiB
CMake
17 lines
1.1 KiB
CMake
# mars_parse tests: unit suite always; real-data oracle check only when SOTS_DATA_DIR is set
|
|
# at configure time (it needs the owner's extracted game data; never committed).
|
|
add_executable(mars_parse_unit_tests
|
|
canon.cpp test_main.cpp test_value.cpp test_blocks.cpp test_effect.cpp)
|
|
target_link_libraries(mars_parse_unit_tests PRIVATE mars_parse)
|
|
target_include_directories(mars_parse_unit_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
|
target_compile_options(mars_parse_unit_tests PRIVATE -Wall -Wextra -Wpedantic)
|
|
add_test(NAME mars_parse_unit COMMAND mars_parse_unit_tests)
|
|
|
|
add_executable(mars_parse_oracle_check canon.cpp oracle_check.cpp)
|
|
target_link_libraries(mars_parse_oracle_check PRIVATE mars_parse)
|
|
target_include_directories(mars_parse_oracle_check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
|
if(DEFINED ENV{SOTS_DATA_DIR})
|
|
# Parses every brace-block/.effect file under the data root (no Python cross-check here;
|
|
# run tests/mars_parse/build_and_run.sh for the full oracle comparison).
|
|
add_test(NAME mars_parse_realdata COMMAND mars_parse_oracle_check "$ENV{SOTS_DATA_DIR}")
|
|
endif()
|