# Doxyfile.in — configured by CMake into the build tree, then run by the
# `docs` target. Generates the HTML API reference published at
# https://cparse.fedem.eu/api (dropped under the tenant's static/api/).
#
# The hand-written narrative companion is the Reference Manual at
# https://cparse.fedem.eu/reference. This tree adds the machine-produced
# detail: full signatures, class / collaboration diagrams, include
# (dependency) graphs and per-function call / caller graphs.
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "cparse"
PROJECT_NUMBER = "@DOXYGEN_PROJECT_NUMBER@"
PROJECT_BRIEF = "A small hand-written recursive-descent parser core for C++"
OUTPUT_DIRECTORY = "@DOXYGEN_OUTPUT_DIR@"
CREATE_SUBDIRS = NO
ALLOW_UNICODE_NAMES = NO
OUTPUT_LANGUAGE = English
MARKDOWN_SUPPORT = YES
AUTOLINK_SUPPORT = YES
BUILTIN_STL_SUPPORT = YES
# ── Input ───────────────────────────────────────────────────────────────────
# Headers carry the documentation; the .cpp files are scanned too so the
# call / caller graphs have function bodies to analyse. Implementation-only
# helpers stay hidden (EXTRACT_ALL off, HIDE_UNDOC_* on, anon namespaces off).
INPUT = "@DOXYGEN_INPUT_DIR@"
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.hh *.cpp
RECURSIVE = YES
EXCLUDE_SYMBOLS = fedem::parser::Parser::Exited
FULL_PATH_NAMES = NO
STRIP_FROM_PATH = "@DOXYGEN_INPUT_DIR@"
# ── What to extract ─────────────────────────────────────────────────────────
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_PRIV_VIRTUAL = NO
EXTRACT_PACKAGE = NO
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_ANON_NSPACES = NO
HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
SORT_MEMBER_DOCS = NO
SORT_BRIEF_DOCS = NO
SORT_MEMBERS_CTORS_1ST = YES
# ── Build / diagnostics ─────────────────────────────────────────────────────
# WARN_IF_UNDOCUMENTED off: with the .cpp in the input every private data
# member and anon-namespace constant would otherwise be reported. The checks
# that catch mistakes in the comments themselves stay on.
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_IF_INCOMPLETE_DOC = YES
WARN_NO_PARAMDOC = YES
WARN_AS_ERROR = @DOXYGEN_WARN_AS_ERROR@
# ── HTML output ─────────────────────────────────────────────────────────────
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_COLORSTYLE = LIGHT
GENERATE_TREEVIEW = YES
DISABLE_INDEX = NO
FULL_SIDEBAR = NO
HTML_DYNAMIC_SECTIONS = YES
SEARCHENGINE = YES
GENERATE_LATEX = NO
GENERATE_XML = NO
GENERATE_MAN = NO
# Source browser stays off — the code ships in the release archives, not here.
SOURCE_BROWSER = NO
VERBATIM_HEADERS = NO
# ── Preprocessing ──────────────────────────────────────────────────────────
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
SEARCH_INCLUDES = YES
# ── Diagrams ───────────────────────────────────────────────────────────────
# HAVE_DOT is set by CMake from whether Graphviz (`dot`) was found. With it
# off, Doxygen falls back to its own simple inheritance diagrams and the
# call / collaboration / include graphs are skipped.
HAVE_DOT = @DOXYGEN_HAVE_DOT@
DOT_NUM_THREADS = 0
DOT_IMAGE_FORMAT = svg
INTERACTIVE_SVG = YES
DOT_MULTI_TARGETS = YES
DOT_CLEANUP = YES
DOT_GRAPH_MAX_NODES = 60
MAX_DOT_GRAPH_DEPTH = 0
# Class diagrams
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = YES
GRAPHICAL_HIERARCHY = YES
# Dependency graphs
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
DIRECTORY_GRAPH = YES
# Call graphs
CALL_GRAPH = YES
CALLER_GRAPH = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES