diff options
Diffstat (limited to 'Utilities/Sphinx/CMakeLists.txt')
-rw-r--r-- | Utilities/Sphinx/CMakeLists.txt | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/Utilities/Sphinx/CMakeLists.txt b/Utilities/Sphinx/CMakeLists.txt index c8a970dcaf..65760367ea 100644 --- a/Utilities/Sphinx/CMakeLists.txt +++ b/Utilities/Sphinx/CMakeLists.txt @@ -49,6 +49,12 @@ else() set(conf_copyright "Kitware, Inc.") endif() +if(CMake_SPHINX_CMAKE_ORG) + set(conf_baseurl "https://cmake.org/cmake/help/latest") +else() + set(conf_baseurl "") +endif() + set(conf_docs "${CMake_SOURCE_DIR}/Help") set(conf_path "${CMAKE_CURRENT_SOURCE_DIR}") set(conf_version "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}") @@ -129,11 +135,24 @@ if(SPHINX_LATEXPDF) list(APPEND doc_formats latexpdf) endif() +set(doc_html_opts "") +if(CMake_SPHINX_CMAKE_ORG) + list(APPEND doc_html_opts + -A googleanalytics=1 + -A versionswitch=1 + ) +endif() + set(doc_format_outputs "") set(doc_format_last "") foreach(format ${doc_formats}) set(doc_format_output "doc_format_${format}") set(doc_format_log "build-${format}.log") + if(CMake_SPHINX_CMAKE_ORG) + set(doctrees "doctrees/${format}") + else() + set(doctrees "doctrees") + endif() if(format STREQUAL "latexpdf") # This format does not use builder (-b) but make_mode (-M) which expects # arguments in peculiar order @@ -144,8 +163,9 @@ foreach(format ${doc_formats}) ${CMake_SOURCE_DIR}/Help ${CMAKE_CURRENT_BINARY_DIR}/${format} -c ${CMAKE_CURRENT_BINARY_DIR} - -d ${CMAKE_CURRENT_BINARY_DIR}/doctrees + -d ${CMAKE_CURRENT_BINARY_DIR}/${doctrees} ${sphinx_flags} + ${doc_${format}_opts} > ${doc_format_log} # log stdout, pass stderr ${${format}_extra_commands} DEPENDS ${doc_format_last} @@ -158,9 +178,10 @@ foreach(format ${doc_formats}) OUTPUT ${doc_format_output} COMMAND ${SPHINX_EXECUTABLE} -c ${CMAKE_CURRENT_BINARY_DIR} - -d ${CMAKE_CURRENT_BINARY_DIR}/doctrees + -d ${CMAKE_CURRENT_BINARY_DIR}/${doctrees} -b ${format} ${sphinx_flags} + ${doc_${format}_opts} ${CMake_SOURCE_DIR}/Help ${CMAKE_CURRENT_BINARY_DIR}/${format} > ${doc_format_log} # log stdout, pass stderr @@ -172,7 +193,9 @@ foreach(format ${doc_formats}) endif() set_property(SOURCE ${doc_format_output} PROPERTY SYMBOLIC 1) list(APPEND doc_format_outputs ${doc_format_output}) - set(doc_format_last ${doc_format_output}) + if(NOT CMake_SPHINX_CMAKE_ORG) + set(doc_format_last ${doc_format_output}) + endif() endforeach() add_custom_target(documentation ALL DEPENDS ${doc_format_outputs}) @@ -192,6 +215,10 @@ if(CMake_SPHINX_DEPEND_ON_EXECUTABLES) endforeach() endif() +if(CMake_SPHINX_CMAKE_ORG) + return() +endif() + if(SPHINX_INFO) CMake_OPTIONAL_COMPONENT(sphinx-info) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/texinfo/cmake.info |