diff options
author | Brad King <brad.king@kitware.com> | 2022-04-05 20:51:04 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2022-04-05 20:51:04 (GMT) |
commit | 2ce668b11d43fdac36b0a4b28f06b2a235e5a04b (patch) | |
tree | 1a603a560598c0b98763f56882a2e62935141ce6 /Utilities | |
parent | 2f7b1dd72c3dfc184f16a7b6c8fba47f8ab5135b (diff) | |
parent | 2808281730b2c887da1845f86042566991be5a8a (diff) | |
download | CMake-2ce668b11d43fdac36b0a4b28f06b2a235e5a04b.zip CMake-2ce668b11d43fdac36b0a4b28f06b2a235e5a04b.tar.gz CMake-2ce668b11d43fdac36b0a4b28f06b2a235e5a04b.tar.bz2 |
Merge branch 'backport-ci-cmake.org-help' into ci-cmake.org-help
Diffstat (limited to 'Utilities')
-rw-r--r-- | Utilities/Sphinx/CMakeLists.txt | 38 | ||||
-rw-r--r-- | Utilities/Sphinx/conf.py.in | 1 | ||||
-rw-r--r-- | Utilities/Sphinx/static/cmake.css | 12 | ||||
-rw-r--r-- | Utilities/Sphinx/templates/layout.html | 40 |
4 files changed, 85 insertions, 6 deletions
diff --git a/Utilities/Sphinx/CMakeLists.txt b/Utilities/Sphinx/CMakeLists.txt index a2c7060..2eba060 100644 --- a/Utilities/Sphinx/CMakeLists.txt +++ b/Utilities/Sphinx/CMakeLists.txt @@ -50,6 +50,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}") @@ -130,11 +136,29 @@ 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 opensearch=1 + -A versionswitch=1 + ) + + if(CMake_SPHINX_CMAKE_ORG_OUTDATED) + list(APPEND doc_html_opts -A outdated=1) + endif() +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 @@ -145,8 +169,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} @@ -159,9 +184,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 @@ -173,7 +199,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}) @@ -193,6 +221,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 diff --git a/Utilities/Sphinx/conf.py.in b/Utilities/Sphinx/conf.py.in index c383828..2b3083b 100644 --- a/Utilities/Sphinx/conf.py.in +++ b/Utilities/Sphinx/conf.py.in @@ -55,6 +55,7 @@ for fpath in cmake_manuals: man_show_urls = False man_make_section_directory = False +html_baseurl = '@conf_baseurl@' html_show_sourcelink = True html_static_path = ['@conf_path@/static'] html_style = 'cmake.css' diff --git a/Utilities/Sphinx/static/cmake.css b/Utilities/Sphinx/static/cmake.css index 029eb1b..4539cf9 100644 --- a/Utilities/Sphinx/static/cmake.css +++ b/Utilities/Sphinx/static/cmake.css @@ -22,3 +22,15 @@ div.sphinxsidebarwrapper { dd > :first-child > p { margin-top: 0px; } + +div.outdated { + background-color: #f0f0c0; + color: black; + font-size: 90%; + padding-bottom: 5px; + padding-left: 2px; + padding-right: 2px; + padding-top: 5px; + text-align: center; + width: 100%; +} diff --git a/Utilities/Sphinx/templates/layout.html b/Utilities/Sphinx/templates/layout.html index be2660c..8fb7c42 100644 --- a/Utilities/Sphinx/templates/layout.html +++ b/Utilities/Sphinx/templates/layout.html @@ -17,10 +17,28 @@ </li> {% endblock %} +{%- block relbar1 %} +{{ super() }} +{%- if outdated is defined %} + <div class="outdated"> + This documents an old version of CMake. + <a href="https://cmake.org/cmake/help/latest/{{ pagename }}.html"> + Click here to see the latest release. + </a> + <span class="version_switch_note"></span> + </div> +{%- endif %} +{%- endblock %} + {% block extrahead %} - {% if versionswitch is defined %} - <script type="text/javascript" src="{{ pathto('../version_switch.js', 1) }}"></script> - {% endif %} + {%- if opensearch is defined %} + <link rel="search" type="application/opensearchdescription+xml" + title="Search within CMake Documentation of Latest Version" + href="{{ pathto('../latest-opensearch.xml', 1) }}"/> + {%- endif %} + {%- if versionswitch is defined %} + <script type="text/javascript" src="{{ pathto('../version_switch.js', 1) }}"></script> + {%- endif %} {{ super() }} {% endblock %} @@ -29,3 +47,19 @@ {% block htmltitle %} <title>{{ title|striptags|e }} {{ "—"|safe }} {{ docstitle|e }}</title> {% endblock %} + +{%- block footer %} +{{ super() }} +{%- if googleanalytics is defined %} +<script type="text/javascript"> +var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); +document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); +</script> +<script type="text/javascript"> +try { +var pageTracker = _gat._getTracker("UA-6042509-4"); +pageTracker._trackPageview(); +} catch(err) {} +</script> +{%- endif %} +{%- endblock %} |