# Doxyfile.in — configured by CMake (docs/CMakeLists.txt) into the build tree,
# then run by the `docs` target. Generates the HTML reference of the mstring
# documentation site (the tenant's static/api/, published by ws-release.sh):
#
# - README.md as the main page, docs/syntax.md (the message-file language)
# and CHANGELOG.md as pages;
# - the generator's internals: the cparse grammar (MStringParser), the model
# (Settings / Message / Module) and the C++ writers, with their graphs.
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "mstring"
PROJECT_NUMBER = "@DOXYGEN_PROJECT_NUMBER@"
PROJECT_BRIEF = "Generates C++ message functions and classes from localized message definitions"
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 sources are headers + .cpp files; the .cpp files give the call / caller
# graphs something to analyse. cparse's own types (fedem::*) are documented on
# the cparse site and excluded here.
INPUT = "@DOXYGEN_SOURCE_DIR@/README.md" \
"@DOXYGEN_SOURCE_DIR@/docs/syntax.md" \
"@DOXYGEN_SOURCE_DIR@/CHANGELOG.md" \
"@DOXYGEN_SOURCE_DIR@/CONTRIBUTING.md" \
"@DOXYGEN_SOURCE_DIR@/TRADEMARKS.md" \
"@DOXYGEN_SOURCE_DIR@/src"
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.hh *.cpp *.md
RECURSIVE = YES
FULL_PATH_NAMES = NO
STRIP_FROM_PATH = "@DOXYGEN_SOURCE_DIR@"
USE_MDFILE_AS_MAINPAGE = "@DOXYGEN_SOURCE_DIR@/README.md"
EXAMPLE_PATH = "@DOXYGEN_SOURCE_DIR@/examples"
EXCLUDE_SYMBOLS = "fedem::*"
# ── What to extract ─────────────────────────────────────────────────────────
# mstring is a tool, not a library: there is no public API, the "API" pages
# are its internals. EXTRACT_ALL shows every class and function, private and
# static ones included — that wiring is what the graphs are for.
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 ──────────────────────────────────────────────────────────
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