# 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 + 3e: SphericalFunctional + gauge-fix ──────────────────── test_spherical_functional.cpp # ── Phase 3d: EuclideanCyclicFunctional ─────────────────────────────── test_euclidean_functional.cpp # ── Phase 3f: Hessians (cotangent Laplacian, spherical + Euclidean) ─── test_euclidean_hessian.cpp test_spherical_hessian.cpp # ── Phase 4a: Newton solver ──────────────────────────────────────────── test_newton_solver.cpp # ── Phase 4b: Mesh I/O (CGAL::IO) ───────────────────────────────────── test_mesh_io.cpp # ── Phase 4c: End-to-end pipeline + user examples ───────────────────── test_pipeline.cpp # ── Phase 5: Layout / embedding + serialization ──────────────────────── test_layout.cpp # ── Phase 6: Gauss–Bonnet, cut graph, exact trilateration, normalisation test_phase6.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 ${CMAKE_SOURCE_DIR}/deps/single_includes ${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 $<$:-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 )