Add new doxygen setup
This commit is contained in:
parent
b210e3a349
commit
00592d6af1
1
builder
1
builder
|
@ -134,6 +134,7 @@ function build-release() { ## Builds the project in "Release" mode
|
||||||
|
|
||||||
function build-docs() { ## Builds the documentation of Serene
|
function build-docs() { ## Builds the documentation of Serene
|
||||||
clean
|
clean
|
||||||
|
pip install -r $ME/docs/requirements.txt
|
||||||
pushed_build
|
pushed_build
|
||||||
cmake -G Ninja -DSERENE_ENABLE_DOCS=ON "$ROOT_DIR"
|
cmake -G Ninja -DSERENE_ENABLE_DOCS=ON "$ROOT_DIR"
|
||||||
cmake --build .
|
cmake --build .
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
#Look for an executable called sphinx-build
|
||||||
|
find_program(SPHINX_EXECUTABLE
|
||||||
|
NAMES sphinx-build
|
||||||
|
DOC "Path to sphinx-build executable")
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
|
#Handle standard arguments to find_package like REQUIRED and QUIET
|
||||||
|
find_package_handle_standard_args(Sphinx
|
||||||
|
"Failed to find sphinx-build executable"
|
||||||
|
SPHINX_EXECUTABLE)
|
|
@ -10,4 +10,42 @@ doxygen_add_docs(docs
|
||||||
"${PROJECT_SOURCE_DIR}/src/"
|
"${PROJECT_SOURCE_DIR}/src/"
|
||||||
${INCLUDE_DIR})
|
${INCLUDE_DIR})
|
||||||
|
|
||||||
add_dependencies(serenec docs)
|
|
||||||
|
|
||||||
|
find_package(Doxygen REQUIRED)
|
||||||
|
|
||||||
|
# Find all the public headers
|
||||||
|
get_target_property(SERENE_PUBLIC_HEADER_DIR SERENE INTERFACE_INCLUDE_DIRECTORIES)
|
||||||
|
file(GLOB_RECURSE SERENE_PUBLIC_HEADER_DIR ${SERENE_PUBLIC_HEADER_DIR}/*.h)
|
||||||
|
|
||||||
|
set(DOXYGEN_INPUT_DIR ${PROJECT_SOURCE_DIR}/)
|
||||||
|
set(DOXYGEN_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/docs/doxygen)
|
||||||
|
set(DOXYGEN_INDEX_FILE ${DOXYGEN_OUTPUT_DIR}/html/index.html)
|
||||||
|
set(DOXYFILE_IN ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)
|
||||||
|
set(DOXYFILE_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
|
||||||
|
|
||||||
|
# Replace variables inside @@ with the current values
|
||||||
|
configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY)
|
||||||
|
# Doxygen won't create this for us
|
||||||
|
file(MAKE_DIRECTORY ${DOXYGEN_OUTPUT_DIR})
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT ${DOXYGEN_INDEX_FILE}
|
||||||
|
DEPENDS ${SERENE_PUBLIC_HEADER_DIR}
|
||||||
|
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE_OUT}
|
||||||
|
MAIN_DEPENDENCY ${DOXYFILE_OUT} ${DOXYFILE_IN}
|
||||||
|
COMMENT "Generating docs")
|
||||||
|
|
||||||
|
add_custom_target(Doxygen ALL DEPENDS ${DOXYGEN_INDEX_FILE})
|
||||||
|
add_dependencies(libserene docs)
|
||||||
|
|
||||||
|
find_package(Sphinx REQUIRED)
|
||||||
|
|
||||||
|
set(SPHINX_SOURCE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
set(SPHINX_BUILD ${CMAKE_CURRENT_BINARY_DIR}/docs/sphinx)
|
||||||
|
|
||||||
|
add_custom_target(Sphinx ALL
|
||||||
|
COMMAND
|
||||||
|
${SPHINX_EXECUTABLE} -b html
|
||||||
|
${SPHINX_SOURCE} ${SPHINX_BUILD}
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
COMMENT "Generating documentation with Sphinx")
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,2 @@
|
||||||
|
sphinx_rtd_theme==1.0
|
||||||
|
breathe==4
|
Loading…
Reference in New Issue