# Doxyfile for XPoint
# Run: doxygen Doxyfile
# Output: docs/html/index.html

#---------------------------------------------------------------------------
# Project
#---------------------------------------------------------------------------
DOXYFILE_ENCODING      = UTF-8
PROJECT_NAME           = "XPoint"
PROJECT_NUMBER         = 0.1.0
PROJECT_BRIEF          = "Hardware-agnostic crosspoint matrix routing library"
OUTPUT_DIRECTORY       = docs

#---------------------------------------------------------------------------
# Input
#---------------------------------------------------------------------------
INPUT                  = src README.md test/TESTS.md test/TEST_REPORT.md CHANGELOG.md
FILE_PATTERNS          = *.h *.cpp *.md
RECURSIVE              = YES
USE_MDFILE_AS_MAINPAGE = README.md
EXCLUDE_PATTERNS       = */test/*.h */test/*.cpp */examples/*

#---------------------------------------------------------------------------
# Extraction
#---------------------------------------------------------------------------
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = NO
EXTRACT_STATIC         = YES
INTERNAL_DOCS          = NO
HIDE_UNDOC_MEMBERS     = NO
HIDE_UNDOC_CLASSES     = NO
SHOW_INCLUDE_FILES     = YES
INLINE_INFO            = YES

#---------------------------------------------------------------------------
# Preprocessing
# Define ARDUINO so driver classes exposing Arduino-only APIs are visible.
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = NO
PREDEFINED             = ARDUINO \
                         __cplusplus=201103L

#---------------------------------------------------------------------------
# HTML output
#---------------------------------------------------------------------------
GENERATE_HTML          = YES
HTML_OUTPUT            = html
HTML_FILE_EXTENSION    = .html

# Dark theme — requires Doxygen >= 1.9.5.
# Paired with doxygen-awesome.css (downloaded by CI into docs/).
HTML_COLORSTYLE        = DARK
HTML_COLORSTYLE_HUE    = 209
HTML_COLORSTYLE_SAT    = 255
HTML_COLORSTYLE_GAMMA  = 113
HTML_TIMESTAMP         = NO
HTML_DYNAMIC_MENUS     = YES

# doxygen-awesome-css — provides the modern dark UI skin.
HTML_EXTRA_STYLESHEET  = docs/doxygen-awesome.css
HTML_EXTRA_FILES       =

GENERATE_TREEVIEW      = YES
TREEVIEW_WIDTH         = 260
DISABLE_INDEX          = NO
FULL_SIDEBAR           = NO
ENUM_VALUES_PER_LINE   = 1

#---------------------------------------------------------------------------
# Disabled outputs
#---------------------------------------------------------------------------
GENERATE_LATEX         = NO
GENERATE_RTF           = NO
GENERATE_XML           = NO
GENERATE_DOCBOOK       = NO
GENERATE_MAN           = NO

#---------------------------------------------------------------------------
# Diagrams (no Graphviz required)
#---------------------------------------------------------------------------
HAVE_DOT               = NO
CLASS_DIAGRAMS         = YES

#---------------------------------------------------------------------------
# Warnings
#---------------------------------------------------------------------------
WARN_NO_PARAMDOC       = YES
WARN_AS_ERROR          = NO
QUIET                  = NO
WARNINGS               = YES
