forked from Mirrorlandia_minetest/minetest
Add basic support for generating API documentation using Doxygen
If CMake is run and Doxygen is found, add a make target called "doc", which builds API documention in doc/html. This target is not included in the default "all" target, you have to explicitly run "make doc" to generate the documentation. If graphviz is installed, in particular, if the "dot" binary is found, doxygen is configured to generate various kinds of diagrams. Note that due to this, the first run of doxygen can take a while.
This commit is contained in:
parent
8066743a83
commit
83830e8682
9
.gitignore
vendored
9
.gitignore
vendored
@ -26,6 +26,11 @@ tags
|
||||
minetest.conf
|
||||
debug.txt
|
||||
|
||||
## Doxygen files
|
||||
doc/Doxyfile
|
||||
doc/html/
|
||||
doc/doxygen_*
|
||||
|
||||
## Build files
|
||||
CMakeFiles/*
|
||||
src/CMakeFiles/*
|
||||
@ -64,7 +69,7 @@ locale/
|
||||
*.layout
|
||||
*.o
|
||||
|
||||
#build variants
|
||||
## Build variants
|
||||
build/android/assets
|
||||
build/android/bin
|
||||
build/android/Debug
|
||||
@ -75,5 +80,3 @@ build/android/libs
|
||||
build/android/obj
|
||||
timestamp
|
||||
|
||||
|
||||
|
||||
|
@ -229,3 +229,14 @@ endif()
|
||||
|
||||
include(CPack)
|
||||
|
||||
# Add a target to generate API documentation with Doxygen
|
||||
find_package(Doxygen)
|
||||
if(DOXYGEN_FOUND)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile @ONLY)
|
||||
add_custom_target(doc
|
||||
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc
|
||||
COMMENT "Generating API documentation with Doxygen" VERBATIM
|
||||
)
|
||||
endif(DOXYGEN_FOUND)
|
||||
|
||||
|
32
doc/Doxyfile.in
Normal file
32
doc/Doxyfile.in
Normal file
@ -0,0 +1,32 @@
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
|
||||
PROJECT_NAME = "Minetest"
|
||||
PROJECT_NUMBER = @VERSION_STRING@
|
||||
|
||||
STRIP_FROM_PATH = @CMAKE_CURRENT_SOURCE_DIR@/src
|
||||
JAVADOC_AUTOBRIEF = YES
|
||||
EXTRACT_ALL = YES
|
||||
EXTRACT_PRIVATE = YES
|
||||
EXTRACT_STATIC = YES
|
||||
SORT_MEMBERS_CTORS_1ST = YES
|
||||
WARN_IF_UNDOCUMENTED = NO
|
||||
|
||||
INPUT = @CMAKE_CURRENT_SOURCE_DIR@/src/ \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/src/util \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/src/script \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/src/script/common \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/src/script/cpp_api \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/src/script/lua_api
|
||||
RECURSIVE = NO
|
||||
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
GENERATE_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
|
||||
HAVE_DOT = @DOXYGEN_DOT_FOUND@
|
||||
CALL_GRAPH = YES
|
||||
CALLER_GRAPH = YES
|
||||
MAX_DOT_GRAPH_DEPTH = 3
|
||||
DOT_MULTI_TARGETS = YES
|
||||
|
Loading…
Reference in New Issue
Block a user