CMLibBreathe
This commit is contained in:
parent
331d9079c5
commit
e7b0f44ef9
57
CMLibBreathe.cmake
Normal file
57
CMLibBreathe.cmake
Normal file
@ -0,0 +1,57 @@
|
||||
find_package(Doxygen REQUIRED)
|
||||
find_package(Perl REQUIRED)
|
||||
set(Python_ADDITIONAL_VERSIONS 3.7 3.6 3.5 3.4 3.3 3.2)
|
||||
find_package(PythonInterp REQUIRED)
|
||||
find_package(Sphinx REQUIRED)
|
||||
include(FindPythonModule)
|
||||
find_python_module(breathe REQUIRED)
|
||||
|
||||
function(add_breathe_doc)
|
||||
set(options)
|
||||
set(oneValueArgs
|
||||
SOURCE_DIR
|
||||
BUILD_DIR
|
||||
CACHE_DIR
|
||||
HTML_DIR
|
||||
DOXY_FILE
|
||||
CONF_FILE
|
||||
TARGET_NAME
|
||||
COMMENT
|
||||
)
|
||||
set(multiValueArgs)
|
||||
|
||||
cmake_parse_arguments(BREATHE_DOC
|
||||
"${options}"
|
||||
"${oneValueArgs}"
|
||||
"${multiValueArgs}"
|
||||
${ARGN}
|
||||
)
|
||||
|
||||
configure_file(
|
||||
${BREATHE_DOC_CONF_FILE}
|
||||
${BREATHE_DOC_BUILD_DIR}/conf.py
|
||||
@ONLY
|
||||
)
|
||||
|
||||
configure_file(
|
||||
${BREATHE_DOC_DOXY_FILE}
|
||||
${BREATHE_DOC_BUILD_DIR}/Doxyfile
|
||||
@ONLY
|
||||
)
|
||||
|
||||
add_custom_target(${BREATHE_DOC_TARGET_NAME}
|
||||
COMMAND
|
||||
${SPHINX_EXECUTABLE}
|
||||
-q
|
||||
-b html
|
||||
-c ${BREATHE_DOC_BUILD_DIR}
|
||||
-d ${BREATHE_DOC_CACHE_DIR}
|
||||
${BREATHE_DOC_SOURCE_DIR}
|
||||
${BREATHE_DOC_HTML_DIR}
|
||||
COMMENT
|
||||
"Building ${BREATHE_DOC_TARGET_NAME} documentation with Breathe, Sphinx and Doxygen"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
message(STATUS "Added ${BREATHE_DOC_TARGET_NAME} [Breathe+Sphinx+Doxygen] target to build documentation")
|
||||
endfunction()
|
Loading…
Reference in New Issue
Block a user