Portiert aus CuttinUtilityTest, UnwrapUtilityTest, ConvergenceUtilityTests und HomologyTest (Java-Quelldatei unifgeo/test). Jetzt 170 CGAL-Tests. Neue Suiten in test_geometry_utils.cpp: CuttingUtility — point_in_triangle_2d (3 Tests, Java-Test 1–2) UnwrapUtility — Eckwinkel law-of-cosines (2 Tests, Java-Test 3) ConvergenceUtility — circumradius + scale-invariant R_f/sqrt(A) (6 Tests, Java-Test 4–6) HomologyGenerators — GTEST_SKIP-Stub für Genus-2 (Java-Test 7, Phase 8) Der Stub dokumentiert genau was fehlt (Genus-2-Mesh), welcher Code nötig ist (compute_cut_graph → 4 cut edges) und die Java-Herkunft. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
82 lines
3.3 KiB
CMake
82 lines
3.3 KiB
CMake
# 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
|
||
|
||
# ── Phase 7: Java-parity layout — MobiusMap, priority BFS, halfedge_uv,
|
||
# period matrix, fundamental domain, tiling
|
||
test_phase7.cpp
|
||
|
||
# ── Java-Parität: Geometrie-Utility-Tests ─────────────────────────────────
|
||
# Portiert aus CuttinUtilityTest, UnwrapUtilityTest,
|
||
# ConvergenceUtilityTests, HomologyTest (Tests 1–6).
|
||
# Test 7 (Genus-2-Homologie) als GTEST_SKIP-Stub bis Phase 8.
|
||
test_geometry_utils.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
|
||
$<$<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
|
||
)
|