sots-engine/tests/mars_parse/CMakeLists.txt

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()