Files
partridge-cpp/CMakeLists.txt
T
Codex instance d751d1b13e solver: replace cell DFS with skyline search
Represent partial placements as column heights and branch on the narrowest local valley. This removes the board-area cell state and makes first-solution search substantially smaller for feasible orders.

Expose direct-search and candidate-order benchmark controls so the skyline core can be measured independently of odd-order construction. Document the completeness argument and the 10/11 test-tier decision.

Tests: Release, Debug, ASan, and UBSan CTest (10 passed each)

Refs: #4
2026-07-30 17:55:21 +01:00

38 lines
1.3 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)
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()