Phase 7.5: Doxygen infrastructure + Phase 8 design freeze
Adds the Doxygen documentation pipeline as the bridge from Phase 7
(porting complete) to Phase 8 (CGAL package). Also captures the
strategic Phase 8 decisions taken on 2026-05-19.
Infrastructure
──────────────
* Doxyfile — CGAL-style minimal configuration, HTML-only,
INPUT=code/include + doc/, excludes deps/ and
macOS Finder duplicates
* code/CMakeLists — `doc` target via find_package(Doxygen QUIET);
silently disabled if Doxygen is not installed
* README — `cmake --build build --target doc` instructions
* .gitignore — exclude doc/doxygen/ output
Phase 8 strategic decisions (recorded in doc/api/cgal-package.md)
────────────────────────────────────────────────────────────────
* Submission to CGAL: pre-submission-ready, 12+ months horizon, MIT preserved
* Mesh-type flexibility: generic FaceGraph + HalfedgeGraph
* Parameter style: CGAL Named Parameters
* Default kernel: Simple_cartesian<double> (status quo)
* Architecture: 3-layer wrapper, no algorithm duplication
* Acceptance test: Phase 9a (Inversive-Distance) as first new client
CLAUDE.md updated with a compact Phase 8 decision table.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -140,3 +140,25 @@ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../LICENSE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../CITATION.cff
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/conformallab)
|
||||
|
||||
# ── Doxygen documentation target (Phase 7.5) ──────────────────────────────────
|
||||
# Generates HTML API documentation into doc/doxygen/html/.
|
||||
# Usage:
|
||||
# cmake --build build --target doc
|
||||
# open doc/doxygen/html/index.html
|
||||
#
|
||||
# Optional dependency: install Doxygen via `brew install doxygen` (macOS) or
|
||||
# `apt install doxygen graphviz` (Linux). The target is silently disabled
|
||||
# if Doxygen is not found.
|
||||
find_package(Doxygen QUIET)
|
||||
if(DOXYGEN_FOUND)
|
||||
set(DOXYGEN_PROJECT_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/..)
|
||||
add_custom_target(doc
|
||||
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_PROJECT_ROOT}/Doxyfile
|
||||
WORKING_DIRECTORY ${DOXYGEN_PROJECT_ROOT}
|
||||
COMMENT "Generating API documentation with Doxygen"
|
||||
VERBATIM)
|
||||
message(STATUS "Doxygen found: target 'doc' available (cmake --build build --target doc)")
|
||||
else()
|
||||
message(STATUS "Doxygen not found — 'doc' target unavailable (install: brew/apt install doxygen)")
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user