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:
126
Doxyfile
Normal file
126
Doxyfile
Normal file
@@ -0,0 +1,126 @@
|
||||
# Doxyfile for conformallab++
|
||||
#
|
||||
# Phase 7.5 — minimal CGAL-style Doxygen configuration.
|
||||
# Only non-default values are set; Doxygen ≥ 1.9.5 supplies the rest.
|
||||
#
|
||||
# Usage:
|
||||
# doxygen Doxyfile # generates HTML into doc/doxygen/html/
|
||||
# open doc/doxygen/html/index.html
|
||||
#
|
||||
# Or via CMake:
|
||||
# cmake --build build --target doc
|
||||
|
||||
# ── Project identity ─────────────────────────────────────────────────────────
|
||||
PROJECT_NAME = "conformallab++"
|
||||
PROJECT_NUMBER = 0.7.0
|
||||
PROJECT_BRIEF = "Discrete conformal maps on triangle meshes — C++17 reimplementation of ConformalLab (TU Berlin)"
|
||||
PROJECT_LOGO =
|
||||
OUTPUT_DIRECTORY = doc/doxygen
|
||||
USE_MDFILE_AS_MAINPAGE = README.md
|
||||
|
||||
# ── Input ────────────────────────────────────────────────────────────────────
|
||||
INPUT = README.md \
|
||||
CLAUDE.md \
|
||||
code/include \
|
||||
doc/api \
|
||||
doc/architecture \
|
||||
doc/math
|
||||
FILE_PATTERNS = *.hpp *.h *.cpp *.md
|
||||
RECURSIVE = YES
|
||||
EXCLUDE_PATTERNS = */build*/* \
|
||||
*/deps/* \
|
||||
*/.git/* \
|
||||
*/test-reports/* \
|
||||
*/* 2.hpp
|
||||
EXCLUDE_SYMBOLS = Eigen::* boost::* std::*
|
||||
|
||||
# ── Source browsing ──────────────────────────────────────────────────────────
|
||||
EXTRACT_ALL = YES
|
||||
EXTRACT_PRIVATE = NO
|
||||
EXTRACT_STATIC = YES
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
SOURCE_BROWSER = YES
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = NO
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
REFERENCES_LINK_SOURCE = YES
|
||||
|
||||
# ── Build options ────────────────────────────────────────────────────────────
|
||||
JAVADOC_AUTOBRIEF = YES
|
||||
QT_AUTOBRIEF = NO
|
||||
MARKDOWN_SUPPORT = YES
|
||||
AUTOLINK_SUPPORT = YES
|
||||
BUILTIN_STL_SUPPORT = YES
|
||||
DISTRIBUTE_GROUP_DOC = YES
|
||||
GROUP_NESTED_COMPOUNDS = YES
|
||||
SUBGROUPING = YES
|
||||
INLINE_GROUPED_CLASSES = NO
|
||||
INLINE_SIMPLE_STRUCTS = NO
|
||||
TYPEDEF_HIDES_STRUCT = NO
|
||||
EXTENSION_MAPPING = h=C++ hpp=C++
|
||||
|
||||
# ── Warnings ─────────────────────────────────────────────────────────────────
|
||||
QUIET = NO
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = NO
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_IF_INCOMPLETE_DOC = YES
|
||||
WARN_NO_PARAMDOC = NO
|
||||
WARN_AS_ERROR = NO
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
WARN_LOGFILE = doc/doxygen/doxygen-warnings.log
|
||||
|
||||
# ── HTML output ──────────────────────────────────────────────────────────────
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_COLORSTYLE = LIGHT
|
||||
HTML_COLORSTYLE_HUE = 220
|
||||
HTML_COLORSTYLE_SAT = 100
|
||||
HTML_COLORSTYLE_GAMMA = 80
|
||||
HTML_TIMESTAMP = NO
|
||||
HTML_DYNAMIC_SECTIONS = YES
|
||||
GENERATE_TREEVIEW = YES
|
||||
DISABLE_INDEX = NO
|
||||
ENUM_VALUES_PER_LINE = 1
|
||||
TREEVIEW_WIDTH = 280
|
||||
EXT_LINKS_IN_WINDOW = NO
|
||||
SEARCHENGINE = YES
|
||||
SERVER_BASED_SEARCH = NO
|
||||
|
||||
# ── Disabled outputs (we only want HTML) ─────────────────────────────────────
|
||||
GENERATE_LATEX = NO
|
||||
GENERATE_RTF = NO
|
||||
GENERATE_MAN = NO
|
||||
GENERATE_XML = NO
|
||||
GENERATE_DOCBOOK = NO
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
GENERATE_PERLMOD = NO
|
||||
|
||||
# ── Preprocessor ─────────────────────────────────────────────────────────────
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = YES
|
||||
EXPAND_ONLY_PREDEF = YES
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH = code/include
|
||||
PREDEFINED = CGAL_DISABLE_GMP \
|
||||
CGAL_DISABLE_MPFR \
|
||||
DOXYGEN_RUNNING
|
||||
|
||||
# ── Diagrams ─────────────────────────────────────────────────────────────────
|
||||
HAVE_DOT = NO
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = NO
|
||||
GROUP_GRAPHS = YES
|
||||
INCLUDE_GRAPH = NO
|
||||
INCLUDED_BY_GRAPH = NO
|
||||
CALL_GRAPH = NO
|
||||
CALLER_GRAPH = NO
|
||||
|
||||
# ── Aliases (CGAL-style) ─────────────────────────────────────────────────────
|
||||
ALIASES += "concept{1}=\xrefitem concept \"Concept\" \"Concepts\" \1"
|
||||
ALIASES += "models{1}=\xrefitem models \"Models\" \"Models\" \1"
|
||||
ALIASES += "cgalRequires{1}=\par Requirements: \n\1"
|
||||
ALIASES += "cgalParam{2}=\param \1 \2"
|
||||
Reference in New Issue
Block a user