You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.2 KiB
72 lines
2.2 KiB
# This modules defines
|
|
# SPHINX_EXECUTABLE
|
|
# SPHINX_FOUND
|
|
|
|
find_program(SPHINX_EXECUTABLE
|
|
NAMES sphinx-build sphinx-build2
|
|
HINTS $ENV{SPHINX_DIR}
|
|
PATHS
|
|
/usr/bin
|
|
/usr/local/bin
|
|
/opt/local/bin
|
|
DOC "Sphinx documentation generator"
|
|
)
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
find_package_handle_standard_args(Sphinx DEFAULT_MSG SPHINX_EXECUTABLE)
|
|
|
|
option( SPHINX_HTML_OUTPUT "Build a single HTML with the whole content." ON )
|
|
option( SPHINX_EPUB_OUTPUT "Build HTML pages with additional information for building a documentation collection in epub." OFF )
|
|
option( SPHINX_LATEX_OUTPUT "Build LaTeX sources that can be compiled to a PDF document using pdflatex." OFF )
|
|
option( SPHINX_MAN_OUTPUT "Build manual pages in groff format for UNIX systems." OFF )
|
|
option( SPHINX_TEXT_OUTPUT "Build plain text files." OFF )
|
|
|
|
|
|
mark_as_advanced(
|
|
SPHINX_EXECUTABLE
|
|
SPHINX_HTML_OUTPUT
|
|
SPHINX_EPUB_OUTPUT
|
|
SPHINX_LATEX_OUTPUT
|
|
SPHINX_MAN_OUTPUT
|
|
SPHINX_TEXT_OUTPUT
|
|
)
|
|
|
|
function( Sphinx_add_target target_name builder conf source destination )
|
|
add_custom_target( ${target_name} ALL
|
|
COMMAND ${SPHINX_EXECUTABLE} -b ${builder}
|
|
-c ${conf}
|
|
${source}
|
|
${destination}
|
|
COMMENT "Generating sphinx documentation: ${builder}"
|
|
)
|
|
|
|
set_property(
|
|
DIRECTORY APPEND PROPERTY
|
|
ADDITIONAL_MAKE_CLEAN_FILES
|
|
${destination}
|
|
)
|
|
endfunction()
|
|
|
|
# Target dependencies can be optionally listed at the end.
|
|
function( Sphinx_add_targets target_base_name conf source base_destination )
|
|
if( ${SPHINX_HTML_OUTPUT} )
|
|
Sphinx_add_target( ${target_base_name}_html html ${conf} ${source} ${base_destination}/html )
|
|
endif()
|
|
|
|
if( ${SPHINX_EPUB_OUTPUT} )
|
|
Sphinx_add_target( ${target_base_name}_epub epub ${conf} ${source} ${base_destination}/epub )
|
|
endif()
|
|
|
|
if( ${SPHINX_LATEX_OUTPUT} )
|
|
Sphinx_add_target( ${target_base_name}_latex latex ${conf} ${source} ${base_destination}/latex )
|
|
endif()
|
|
|
|
if( ${SPHINX_MAN_OUTPUT} )
|
|
Sphinx_add_target( ${target_base_name}_man man ${conf} ${source} ${base_destination}/man )
|
|
endif()
|
|
|
|
if( ${SPHINX_TEXT_OUTPUT} )
|
|
Sphinx_add_target( ${target_base_name}_text text ${conf} ${source} ${base_destination}/text )
|
|
endif()
|
|
endfunction()
|