#---------------------------------------------------------------------------  
# Project  
#---------------------------------------------------------------------------  
PROJECT_NAME           = "VegasAfterglow"  
PROJECT_BRIEF          = "A high-performance C++ framework for modeling gamma-ray burst afterglows"  
PROJECT_LOGO           = "../assets/logo.svg"  
OUTPUT_DIRECTORY       = doxygen  

#---------------------------------------------------------------------------  
# Input  
#---------------------------------------------------------------------------  
INPUT                  = ../include ../pybind ../src  
FILE_PATTERNS          = *.c *.cc *.cpp *.h *.hh *.hpp *.tpp 
RECURSIVE              = YES  
INPUT_ENCODING         = UTF-8  
EXCLUDE                = ../external  
EXCLUDE_PATTERNS       = */external/* */build/* */dist/* */detail/* */internal/*  
EXCLUDE_SYMBOLS        = *__pad* *::_* *detail::* *internal::*  

#---------------------------------------------------------------------------  
# Extraction  
#---------------------------------------------------------------------------  
EXTRACT_ALL            = YES    # grab every symbol  
EXTRACT_PRIVATE        = NO     # hide private members  
EXTRACT_PACKAGE        = YES  
EXTRACT_STATIC         = YES    # free & static funcs  
EXTRACT_LOCAL_METHODS  = YES    # inline/impl in .cpp  
EXTRACT_ANON_NSPACES   = YES  
HIDE_UNDOC_MEMBERS     = NO     # show even undocumented  
HIDE_UNDOC_CLASSES     = NO  

# Documentation style options
BRIEF_MEMBER_DESC      = YES    # show the one-line brief next to each member  
REPEAT_BRIEF           = YES    # repeat brief descriptions  
ALWAYS_DETAILED_SEC    = YES    # always include detailed section  
MULTILINE_CPP_IS_BRIEF = NO     # treat /** */ as full docs, not just brief  
JAVADOC_AUTOBRIEF      = YES    # first sentence becomes the brief automatically  
QT_AUTOBRIEF           = NO     # disable Qt-style auto-brief
INHERIT_DOCS           = YES    # pull base-class docs into overrides  
TAB_SIZE               = 4  

# Template class options
TEMPLATE_RELATIONS     = YES    # Document template relations
INLINE_INFO            = YES    # Document inline functions
EXTRACT_LOCAL_CLASSES  = YES    # Document local classes
MARKDOWN_SUPPORT       = YES    # Enable Markdown support

#---------------------------------------------------------------------------  
# Source browsing & inlining  
#---------------------------------------------------------------------------  
SOURCE_BROWSER         = YES  
INLINE_SOURCES         = YES    # show code + comments  
STRIP_CODE_COMMENTS    = NO  
VERBATIM_HEADERS       = YES  

#---------------------------------------------------------------------------  
# Diagrams & graphs  
#---------------------------------------------------------------------------  
HAVE_DOT               = YES  
CLASS_GRAPH            = YES  
COLLABORATION_GRAPH    = YES  
INCLUDE_GRAPH          = YES  
INCLUDED_BY_GRAPH      = YES  
CALL_GRAPH             = YES  
CALLER_GRAPH           = YES  
DOT_GRAPH_MAX_NODES    = 200  
INTERACTIVE_SVG        = YES  

#---------------------------------------------------------------------------  
# HTML output  
#---------------------------------------------------------------------------  
GENERATE_HTML          = YES
HTML_OUTPUT            = html  
GENERATE_TREEVIEW      = YES    # collapsible nav  
FULL_PATH_NAMES        = NO     # Don't prepend path to function declarations  
STRIP_FROM_PATH        = ../    # trim leading "../"  
SHOW_FILES             = YES
SHOW_NAMESPACES        = YES

#---------------------------------------------------------------------------  
# Other formats (optional)  
#---------------------------------------------------------------------------  
GENERATE_XML           = YES    # for Breathe/Sphinx  
XML_OUTPUT             = xml
GENERATE_LATEX         = NO  
GENERATE_MAN           = NO  
GENERATE_DOCSET        = NO  

#---------------------------------------------------------------------------  
# Warnings & parsing  
#---------------------------------------------------------------------------  
WARN_IF_UNDOCUMENTED   = YES  
WARN_NO_PARAMDOC       = YES  
WARN_AS_ERROR          = NO  