Code View

plugin / plugin-2.2.0.0 / docs / Doxyfile.in
# Doxyfile.in — configured by CMake (docs/CMakeLists.txt) into the build tree,
# then run by the `docs` target. Generates the HTML API reference published at
# https://plugin.fedem.eu/api (dropped under the tenant's static/api/).
#
# The hand-written narrative companions are the Reference Manual at
# https://plugin.fedem.eu/reference and the CLI signing tools at
# https://plugin.fedem.eu/tools. 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           = "plugin"
PROJECT_NUMBER         = "@DOXYGEN_PROJECT_NUMBER@"
PROJECT_BRIEF          = "Runtime plugin loader and Ed25519 DSO signing for C++ applications"
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 ───────────────────────────────────────────────────────────────────
# The three library modules — dso/ (the DSOLoader), plugin/ (the catalog /
# registration templates) and sign/ (Ed25519 manifest + verifier) — plus the
# dso-keygen / dso-sign / dso-verify CLI sources. The Shape example under
# example/ is walked through on the site (/examples, /walkthrough), not here.
INPUT                  = @DOXYGEN_INPUT_DIR@
INPUT_ENCODING         = UTF-8
FILE_PATTERNS          = *.hh *.cpp
RECURSIVE              = YES
FULL_PATH_NAMES        = YES
STRIP_FROM_PATH        = "@DOXYGEN_STRIP_FROM_PATH@"

# ── What to extract ─────────────────────────────────────────────────────────
# EXTRACT_ALL is on so the tree also shows the loader internals and the
# manifest/ELF-section helpers — that wiring is what makes the call / caller
# graphs worth generating. The hand-written /reference manual is the
# public-API-only companion.
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
EXTRACT_PRIV_VIRTUAL   = YES
EXTRACT_PACKAGE        = NO
EXTRACT_STATIC         = YES
EXTRACT_LOCAL_CLASSES  = YES
EXTRACT_ANON_NSPACES   = NO
HIDE_UNDOC_MEMBERS     = NO
HIDE_UNDOC_CLASSES     = NO
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 ─────────────────────────────────────────────────────
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 ──────────────────────────────────────────────────────────
# DSOLD_WITH_SIGN is defined for the build; predefine it here so the signed
# loadSigned() / loadVerified() overloads appear in the generated tree.
ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = YES
SEARCH_INCLUDES        = YES
PREDEFINED             = DSOLD_WITH_SIGN=1 \
                         PLUGIN_EXPORT=

# ── 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