add_executable(conformallab_tests
    # ── Fully ported (pure math, no HDS) ────────────────────────────────────
    test_clausen.cpp
    test_hyper_ideal_utility.cpp
    test_matrix_utility.cpp
    test_surface_curve_utility.cpp
    test_discrete_elliptic_utility.cpp
    test_p2_utility.cpp
    test_hyper_ideal_visualization_utility.cpp

    # ── Stubs: blocked until HDS port (Phase 4) ──────────────────────────────
    # All tests call GTEST_SKIP() with a clear explanation.
    test_hyper_ideal_functional.cpp
    test_hyper_ideal_hyperelliptic_utility.cpp
    test_spherical_functional.cpp
)

target_include_directories(conformallab_tests SYSTEM PRIVATE
    ${CMAKE_SOURCE_DIR}/deps/eigen-3.4.0
)

target_include_directories(conformallab_tests PRIVATE
    ${CMAKE_SOURCE_DIR}/include
)

target_link_libraries(conformallab_tests PRIVATE GTest::gtest_main)

include(GoogleTest)
gtest_discover_tests(conformallab_tests DISCOVERY_TIMEOUT 60)

# ── CGAL test suite ──────────────────────────────────────────────────────────
# Built with -DWITH_CGAL_TESTS=ON (headless CI, no viewer) or
#            -DWITH_CGAL=ON       (full build with viewer + CLI).
if(WITH_CGAL OR WITH_CGAL_TESTS)
    add_subdirectory(cgal)
endif()
