Full-height skyline columns partition the remaining board. Add sound gcd and bounded subset-sum checks for the resulting component areas, with boundary-event and periodic benchmark schedules. Keep the rules disabled by default because their small tree reductions do not recover their measured cost. Record the rejected default and scheduling evidence so it can be revisited only with new data. Tests: Debug CTest (14 passed) Tests: ASan+UBSan CTest (14 passed) Refs: #13
42 lines
1.6 KiB
CMake
42 lines
1.6 KiB
CMake
cmake_minimum_required(VERSION 4.0)
|
|
project(partridge_cpp)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
add_executable(partridge_cpp
|
|
main.cc)
|
|
|
|
option(PARTRIDGE_BUILD_BENCHMARKS "Build the heavyweight benchmark probe" OFF)
|
|
if(PARTRIDGE_BUILD_BENCHMARKS)
|
|
add_executable(partridge_benchmark
|
|
benchmarks/benchmark.cc)
|
|
endif()
|
|
|
|
include(CTest)
|
|
|
|
if(BUILD_TESTING)
|
|
add_executable(partridge_tests
|
|
tests/tests.cc)
|
|
add_test(NAME validator COMMAND partridge_tests validator)
|
|
add_test(NAME construction COMMAND partridge_tests construction)
|
|
add_test(NAME solver-odd-route COMMAND partridge_tests solver-odd-route)
|
|
add_test(NAME rendering COMMAND partridge_tests rendering)
|
|
add_test(NAME solver-small COMMAND partridge_tests solver-small)
|
|
add_test(NAME solver-completion COMMAND partridge_tests solver-completion)
|
|
add_test(NAME search-counters COMMAND partridge_tests search-counters)
|
|
add_test(NAME skyline-search COMMAND partridge_tests skyline-search)
|
|
add_test(NAME d4-symmetry COMMAND partridge_tests d4-symmetry)
|
|
add_test(NAME valley-capacity COMMAND partridge_tests valley-capacity)
|
|
add_test(NAME large-square COMMAND partridge_tests large-square)
|
|
add_test(NAME component-area COMMAND partridge_tests component-area)
|
|
find_package(Python3 COMPONENTS Interpreter)
|
|
if(Python3_Interpreter_FOUND)
|
|
add_test(NAME benchmark-format
|
|
COMMAND "${Python3_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/run.py"
|
|
--self-test)
|
|
add_test(NAME reference-support
|
|
COMMAND "${Python3_EXECUTABLE}"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/tests/reference_test.py")
|
|
endif()
|
|
endif()
|