based/doc/CMakeLists.txt
2023-07-15 19:52:58 +02:00

45 lines
1.3 KiB
CMake
Executable File

#Cmake: Documentation
find_package(Doxygen REQUIRED doxygen)
find_program(HAS_GRAPHVIZ NAMES dot)
if(HAS_GRAPHVIZ)
message("Graphviz found!")
set(DOXYGEN_HAVE_DOT YES) # Needs graphviz
endif()
set(DOXYGEN_CREATE_SUBDIRS YES)
set(DOXYGEN_CREATE_SUBDIRS_LEVEL 8)
set(DOXYGEN_HTML_COLORSTYLE DARK)
set(DOXYGEN_FULL_PATH_NAMES NO)
set(DOXYGEN_EXTRACT_ALL YES)
set(DOXYGEN_EXTRACT_PRIVATE YES)
set(DOXYGEN_EXTRACT_STATIC YES)
set(DOXYGEN_CALL_GRAPH YES)
set(DOXYGEN_CALLER_GRAPH YES)
set(DOXYGEN_DISABLE_INDEX YES)
set(DOXYGEN_OPTIMIZE_OUTPUT_FOR_C YES)
set(DOXYGEN_ALPHABETICAL_INDEX NO)
set(DOXYGEN_EXCLUDE build)
set(DOXYGEN_FILE_PATTERNS *.c *.h)
set(DOXYGEN_GENERATE_TREEVIEW YES)
set(DOXYGEN_QUIET YES)
set(DOXYGEN_RECURSIVE YES)
set(DOXYGEN_REFERENCED_BY_RELATION YES)
set(DOXYGEN_REFERENCES_RELATION YES)
set(DOXYGEN_SORT_BY_SCOPE_NAME YES)
set(DOXYGEN_SORT_MEMBER_DOCS NO)
set(DOXYGEN_SOURCE_BROWSER YES)
set(DOXYGEN_STRIP_CODE_COMMENTS NO)
if(INTERNAL_DOC)
set(DOC_PATHS "${CMAKE_SOURCE_DIR}/src")
set(DOXYGEN_PROJECT_NAME "${CMAKE_PROJECT_NAME} Internal")
message("Internal doc enabled!")
else()
set(DOC_PATHS "${CMAKE_SOURCE_DIR}/src/rtbase/include")
message("Public doc enabled!")
endif(INTERNAL_DOC)
doxygen_add_docs(doxygen ${DOC_PATHS}
ALL
COMMENT "Generating HTML documentation")