# Doxyfile for noLZSS C++ API documentation

PROJECT_NAME           = "noLZSS"
PROJECT_NUMBER         = "0.2.0"
PROJECT_BRIEF          = "Non-overlapping Lempel-Ziv-Storer-Szymanski factorization"

OUTPUT_DIRECTORY       = docs/_build/doxygen
CREATE_SUBDIRS         = NO

INPUT                  = src/cpp
INPUT_ENCODING         = UTF-8
FILE_PATTERNS          = *.h *.hpp *.cpp *.cc
RECURSIVE              = YES
EXCLUDE_PATTERNS       = */.*

SOURCE_BROWSER         = YES
INLINE_SOURCES         = NO
STRIP_CODE_COMMENTS    = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION    = YES
REFERENCES_LINK_SOURCE = YES

ALPHABETICAL_INDEX     = YES
COLS_IN_ALPHA_INDEX    = 5

# Output formats
GENERATE_HTML          = NO
GENERATE_LATEX         = NO
GENERATE_XML           = YES
XML_OUTPUT             = xml

# Preprocessing
ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = NO
SEARCH_INCLUDES        = YES
INCLUDE_PATH           = src/cpp
PREDEFINED             = DOXYGEN_SHOULD_SKIP_THIS

# Documentation extraction
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
EXTRACT_STATIC         = YES
EXTRACT_LOCAL_CLASSES  = YES
EXTRACT_LOCAL_METHODS  = YES

# Documentation quality
WARN_IF_UNDOCUMENTED   = NO
WARN_IF_DOC_ERROR      = YES
WARN_NO_PARAMDOC       = NO
QUIET                  = YES

# Javadoc style
JAVADOC_AUTOBRIEF      = YES
QT_AUTOBRIEF           = NO

# Optimization
OPTIMIZE_OUTPUT_FOR_C  = NO
OPTIMIZE_OUTPUT_JAVA   = NO
OPTIMIZE_FOR_FORTRAN   = NO
OPTIMIZE_OUTPUT_VHDL   = NO

# Search engine
SEARCHENGINE           = YES

# Skip function macros  
SKIP_FUNCTION_MACROS   = YES

# Class and collaboration diagrams
CLASS_DIAGRAMS         = YES
COLLABORATION_GRAPH    = YES
GROUP_GRAPHS           = YES
UML_LOOK              = NO
UML_LIMIT_NUM_FIELDS  = 10
TEMPLATE_RELATIONS    = NO
INCLUDE_GRAPH         = YES
INCLUDED_BY_GRAPH     = YES
CALL_GRAPH            = NO
CALLER_GRAPH          = NO
GRAPHICAL_HIERARCHY   = YES
DIRECTORY_GRAPH       = YES

# Dot tool
DOT_IMAGE_FORMAT      = png
INTERACTIVE_SVG       = NO
DOT_PATH              = 
DOTFILE_DIRS          = 
MSCFILE_DIRS          = 
DIAFILE_DIRS          = 

# HTML output (disabled for XML-only generation)
HTML_OUTPUT           = html
HTML_FILE_EXTENSION   = .html
HTML_COLORSTYLE_HUE   = 220
HTML_COLORSTYLE_SAT   = 100
HTML_COLORSTYLE_GAMMA = 80
HTML_TIMESTAMP        = YES
HTML_DYNAMIC_SECTIONS = NO
HTML_INDEX_NUM_ENTRIES= 100

# LaTeX output (disabled)
LATEX_OUTPUT          = latex

# Man page output (disabled)
GENERATE_MAN          = NO

# RTF output (disabled)  
GENERATE_RTF          = NO

# XML output (main target for Breathe)
XML_PROGRAMLISTING    = YES