# tests/cgal/CMakeLists.txt
#
# CGAL-dependent test target.  Only built when -DWITH_CGAL=ON.
# Requires Boost (find_package(Boost REQUIRED) is called in the root CMakeLists).
#
# Run with:
#   cmake -S code -B build -DWITH_CGAL=ON
#   cmake --build build --target conformallab_cgal_tests
#   ctest --test-dir build -R cgal

add_executable(conformallab_cgal_tests
    # ── Phase 3a: mesh infrastructure ──────────────────────────────────────
    test_conformal_mesh.cpp

    # ── Phase 3b: HyperIdealFunctional ─────────────────────────────────────
    test_hyper_ideal_functional.cpp

    # ── Phase 3c: SphericalFunctional   (to be added) ──────────────────────
    # test_spherical_functional.cpp
)

target_include_directories(conformallab_cgal_tests SYSTEM PRIVATE
    ${CMAKE_SOURCE_DIR}/deps/eigen-3.4.0
    ${CMAKE_SOURCE_DIR}/deps/CGAL-6.1.1/include
    ${Boost_INCLUDE_DIRS}
)

target_include_directories(conformallab_cgal_tests PRIVATE
    ${CMAKE_SOURCE_DIR}/include
)

target_compile_definitions(conformallab_cgal_tests PRIVATE
    CGAL_DISABLE_GMP
    CGAL_DISABLE_MPFR
)

# Suppress warnings from CGAL/Boost headers
target_compile_options(conformallab_cgal_tests PRIVATE
    $<$<CXX_COMPILER_ID:GNU,Clang,AppleClang>:-Wno-unused-parameter>
)

target_link_libraries(conformallab_cgal_tests PRIVATE GTest::gtest_main)

include(GoogleTest)
gtest_discover_tests(conformallab_cgal_tests
    TEST_PREFIX "cgal."
    DISCOVERY_TIMEOUT 60
)
