# SPDX-License-Identifier: CC-BY-SA-4.0
# Doxyfile 1.9.5

PROJECT_NAME           = "libcamera"
PROJECT_NUMBER         = "@VERSION@"
PROJECT_BRIEF          = "Supporting cameras in Linux since 2019"

OUTPUT_DIRECTORY       = Documentation

STRIP_FROM_PATH        = "@TOP_SRCDIR@"

ALIASES                = "context=\xrefitem context \"Thread Safety\" \"Thread Safety\"" \
                         "threadbound=\ref thread-bound \"thread-bound\"" \
                         "threadsafe=\ref thread-safe \"thread-safe\""

EXTENSION_MAPPING      = h=C++

TOC_INCLUDE_HEADINGS   = 0

CASE_SENSE_NAMES       = YES

QUIET                  = YES

INPUT                  = "@TOP_SRCDIR@/include/libcamera" \
                         "@TOP_SRCDIR@/src/ipa/ipu3" \
                         "@TOP_SRCDIR@/src/ipa/libipa" \
                         "@TOP_SRCDIR@/src/libcamera" \
                         "@TOP_BUILDDIR@/include/libcamera" \
                         "@TOP_BUILDDIR@/src/libcamera"

FILE_PATTERNS          = *.c \
                         *.cpp \
                         *.h

RECURSIVE              = YES

EXCLUDE                = @TOP_SRCDIR@/include/libcamera/base/span.h \
                         @TOP_SRCDIR@/include/libcamera/internal/device_enumerator_sysfs.h \
                         @TOP_SRCDIR@/include/libcamera/internal/device_enumerator_udev.h \
                         @TOP_SRCDIR@/include/libcamera/internal/ipc_pipe_unixsocket.h \
                         @TOP_SRCDIR@/src/libcamera/device_enumerator_sysfs.cpp \
                         @TOP_SRCDIR@/src/libcamera/device_enumerator_udev.cpp \
                         @TOP_SRCDIR@/src/libcamera/ipc_pipe_unixsocket.cpp \
                         @TOP_SRCDIR@/src/libcamera/pipeline/ \
                         @TOP_SRCDIR@/src/libcamera/tracepoints.cpp \
                         @TOP_BUILDDIR@/include/libcamera/internal/tracepoints.h \
                         @TOP_BUILDDIR@/src/libcamera/proxy/

EXCLUDE_PATTERNS       = @TOP_BUILDDIR@/include/libcamera/ipa/*_serializer.h \
                         @TOP_BUILDDIR@/include/libcamera/ipa/*_proxy.h \
                         @TOP_BUILDDIR@/include/libcamera/ipa/ipu3_*.h \
                         @TOP_BUILDDIR@/include/libcamera/ipa/raspberrypi_*.h \
                         @TOP_BUILDDIR@/include/libcamera/ipa/rkisp1_*.h \
                         @TOP_BUILDDIR@/include/libcamera/ipa/vimc_*.h

EXCLUDE_SYMBOLS        = libcamera::BoundMethodArgs \
                         libcamera::BoundMethodBase \
                         libcamera::BoundMethodFunctor \
                         libcamera::BoundMethodMember \
                         libcamera::BoundMethodPack \
                         libcamera::BoundMethodPackBase \
                         libcamera::BoundMethodStatic \
                         libcamera::CameraManager::Private \
                         libcamera::SignalBase \
                         libcamera::ipa::AlgorithmFactoryBase \
                         *::details \
                         std::*

EXCLUDE_SYMLINKS       = YES

HTML_OUTPUT            = api-html

GENERATE_LATEX         = NO

MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = YES

INCLUDE_PATH           = "@TOP_SRCDIR@/include/libcamera"
INCLUDE_FILE_PATTERNS  = *.h

PREDEFINED             = __DOXYGEN__ \
                         __cplusplus \
                         __attribute__(x)=

HAVE_DOT               = YES