Убрано автоматическое определение необходимости запуска Breathe
This commit is contained in:
parent
d759666a01
commit
3654fd719e
@ -1,85 +1,32 @@
|
||||
set(BUILD_BREATHE_DOC AUTO CACHE STRING "Enable documntation in Breathe format")
|
||||
set_property(CACHE BUILD_BREATHE_DOC PROPERTY STRINGS AUTO ON OFF)
|
||||
set(BUILD_BREATHE_DOC OFF CACHE STRING "Enable documntation in Breathe format")
|
||||
set_property(CACHE BUILD_BREATHE_DOC PROPERTY STRINGS ON OFF)
|
||||
|
||||
if(BUILD_BREATHE_DOC STREQUAL AUTO)
|
||||
find_package(Doxygen)
|
||||
find_package(Perl)
|
||||
set(Python_ADDITIONAL_VERSIONS 3.7 3.6 3.5 3.4 3.3 3.2)
|
||||
find_package(PythonInterp)
|
||||
if (PYTHONINTERP_FOUND)
|
||||
find_package(Sphinx)
|
||||
function(add_breathe_target)
|
||||
if(BUILD_BREATHE_DOC)
|
||||
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)
|
||||
find_python_module(recommonmark)
|
||||
if(DOXYGEN_FOUND AND PERL_FOUND AND PYTHONINTERP_FOUND AND SPHINX_FOUND AND breathe_FOUND AND recommonmark_FOUND)
|
||||
set(BUILD_BREATHE_DOC ON CACHE STRING "Enable documntation in Breathe format" FORCE)
|
||||
else()
|
||||
set(BUILD_BREATHE_DOC OFF CACHE STRING "Disable documentation in Breathe format" FORCE)
|
||||
endif()
|
||||
else()
|
||||
set(BUILD_BREATHE_DOC OFF CACHE STRING "Disable documentation in Breathe format" FORCE)
|
||||
endif()
|
||||
elseif(BUILD_BREATHE_DOC)
|
||||
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)
|
||||
find_python_module(recommonmark REQUIRED)
|
||||
set(BUILD_BREATHE_DOC ON CACHE STRING "Enable documentation in Breathe format" FORCE)
|
||||
else()
|
||||
set(BUILD_BREATHE_DOC OFF CACHE STRING "Disable documentation in Breathe format" FORCE)
|
||||
endif()
|
||||
find_python_module(breathe REQUIRED)
|
||||
find_python_module(recommonmark REQUIRED)
|
||||
|
||||
function(add_breathe_doc)
|
||||
if(BUILD_BREATHE_DOC AND CMAKE_BUILD_TYPE STREQUAL Release)
|
||||
set(options)
|
||||
set(oneValueArgs
|
||||
SOURCE_DIR
|
||||
BUILD_DIR
|
||||
CACHE_DIR
|
||||
HTML_DIR
|
||||
DOXY_FILE
|
||||
CONF_FILE
|
||||
TARGET_NAME
|
||||
COMMENT
|
||||
)
|
||||
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}
|
||||
)
|
||||
cmake_parse_arguments(_BREATHE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
configure_file(
|
||||
${BREATHE_DOC_CONF_FILE}
|
||||
${BREATHE_DOC_BUILD_DIR}/conf.py
|
||||
@ONLY
|
||||
)
|
||||
configure_file(${_BREATHE_CONF_FILE} ${_BREATHE_BUILD_DIR}/conf.py @ONLY)
|
||||
configure_file(${_BREATHE_DOXY_FILE} ${_BREATHE_BUILD_DIR}/Doxyfile @ONLY)
|
||||
|
||||
configure_file(
|
||||
${BREATHE_DOC_DOXY_FILE}
|
||||
${BREATHE_DOC_BUILD_DIR}/Doxyfile
|
||||
@ONLY
|
||||
)
|
||||
|
||||
add_custom_target(${BREATHE_DOC_TARGET_NAME}
|
||||
ALL
|
||||
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
|
||||
add_custom_target(${_BREATHE_TARGET_NAME} ALL VERBATIM
|
||||
COMMAND ${SPHINX_EXECUTABLE} -q -b html -c ${_BREATHE_BUILD_DIR}
|
||||
-d ${_BREATHE_CACHE_DIR}
|
||||
${_BREATHE_SOURCE_DIR}
|
||||
${_BREATHE_HTML_DIR}
|
||||
COMMENT "Building ${_BREATHE_TARGET_NAME} documentation with Breathe"
|
||||
)
|
||||
endif()
|
||||
endfunction()
|
||||
|
Loading…
Reference in New Issue
Block a user