From 971384c28759ad042624bda3893be6fdb1795591 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Thu, 9 Feb 2017 18:48:31 +0100 Subject: Utilities/Sphinx: Port cmake extension to Sphinx 1.4 Sphinx 1.4 introduced a breaking change to `indexnode` by changing the length of a tuple. Teach our extension to produce a tuple of the proper length for the version of Sphinx in use. This gets rid of the "4 column based index found" warning. --- Utilities/Sphinx/cmake.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py index edc7667..6f273f9 100644 --- a/Utilities/Sphinx/cmake.py +++ b/Utilities/Sphinx/cmake.py @@ -46,7 +46,7 @@ from sphinx.directives import ObjectDescription from sphinx.domains import Domain, ObjType from sphinx.roles import XRefRole from sphinx.util.nodes import make_refnode -from sphinx import addnodes +from sphinx import addnodes, version_info class CMakeModule(Directive): required_arguments = 1 @@ -123,7 +123,11 @@ class _cmake_index_entry: self.desc = desc def __call__(self, title, targetid, main = 'main'): - return ('pair', u'%s ; %s' % (self.desc, title), targetid, main) + # See https://github.com/sphinx-doc/sphinx/issues/2673 + if version_info < (1, 4): + return ('pair', u'%s ; %s' % (self.desc, title), targetid, main) + else: + return ('pair', u'%s ; %s' % (self.desc, title), targetid, main, None) _cmake_index_objs = { 'command': _cmake_index_entry('command'), -- cgit v0.12 From 97917900d146acd55a7e453f477c52cd2e816eb3 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 10 Feb 2017 10:41:50 -0500 Subject: Utilities/Sphinx: Port qthelp css workaround to Sphinx 1.4 The `default.css` static content is no longer placed in the qthelp `_static` directory. If it does not exist, skip over it and insert the content of `basic.css` directly into `cmake.css`. --- Utilities/Sphinx/apply_qthelp_css_workaround.cmake | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Utilities/Sphinx/apply_qthelp_css_workaround.cmake b/Utilities/Sphinx/apply_qthelp_css_workaround.cmake index 8b74d12..288f370 100644 --- a/Utilities/Sphinx/apply_qthelp_css_workaround.cmake +++ b/Utilities/Sphinx/apply_qthelp_css_workaround.cmake @@ -1,11 +1,15 @@ file(READ "${CSS_DIR}/basic.css" BasicCssContent) -file(READ "${CSS_DIR}/default.css" DefaultCssContent) -string(REPLACE - "@import url(\"basic.css\")" "${BasicCssContent}" - DefaultCssContent "${DefaultCssContent}" -) +if(EXISTS "${CSS_DIR}/default.css") + file(READ "${CSS_DIR}/default.css" DefaultCssContent) + string(REPLACE + "@import url(\"basic.css\")" "${BasicCssContent}" + DefaultCssContent "${DefaultCssContent}" + ) +else() + set(DefaultCssContent "${BasicCssContent}") +endif() file(READ "${CSS_DIR}/cmake.css" CMakeCssContent) string(REPLACE -- cgit v0.12 From 30abf145fd48f50c26ee7553fd2512e59be97f25 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 10 Feb 2017 09:55:46 -0500 Subject: Help: Fix cmake code block warnings produced by Sphinx 1.4 Some of our "cmake" code blocks do not use fully valid CMake syntax because they have placeholders for human reference. Sphinx has never been able to properly lex and highlight these, but now warns. Fix each block's syntax or change to a non-cmake block as appropriate. --- Help/command/if.rst | 6 +++--- Help/manual/cmake-developer.7.rst | 4 ++-- Help/manual/cmake-language.7.rst | 4 ++-- Modules/CMakePackageConfigHelpers.cmake | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Help/command/if.rst b/Help/command/if.rst index 0941029..2a087d0 100644 --- a/Help/command/if.rst +++ b/Help/command/if.rst @@ -9,17 +9,17 @@ Conditionally execute a group of commands. # then section. COMMAND1(ARGS ...) COMMAND2(ARGS ...) - ... + #... elseif(expression2) # elseif section. COMMAND1(ARGS ...) COMMAND2(ARGS ...) - ... + #... else(expression) # else section. COMMAND1(ARGS ...) COMMAND2(ARGS ...) - ... + #... endif(expression) Evaluates the given expression. If the result is true, the commands diff --git a/Help/manual/cmake-developer.7.rst b/Help/manual/cmake-developer.7.rst index 46b922b..f77d8c0 100644 --- a/Help/manual/cmake-developer.7.rst +++ b/Help/manual/cmake-developer.7.rst @@ -540,7 +540,7 @@ a :ref:`Line Comment` block of the form: or a :ref:`Bracket Comment` of the form: -.. code-block:: cmake +:: #[[.rst: @@ -558,7 +558,7 @@ All such comments must start with ``#`` in the first column. For example, a ``Modules/Findxxx.cmake`` module may contain: -.. code-block:: cmake +:: # Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. diff --git a/Help/manual/cmake-language.7.rst b/Help/manual/cmake-language.7.rst index 41542c9..ba0b30f 100644 --- a/Help/manual/cmake-language.7.rst +++ b/Help/manual/cmake-language.7.rst @@ -255,7 +255,7 @@ invocation as exactly one argument. For example: -.. code-block:: cmake +:: message("This is a quoted argument containing multiple lines. This is always one argument even though it contains a ; character. @@ -421,7 +421,7 @@ A ``#`` immediately followed by a `Bracket Argument`_ forms a For example: -.. code-block:: cmake +:: #[[This is a bracket comment. It runs until the close bracket.]] diff --git a/Modules/CMakePackageConfigHelpers.cmake b/Modules/CMakePackageConfigHelpers.cmake index 3210222..90c2a57 100644 --- a/Modules/CMakePackageConfigHelpers.cmake +++ b/Modules/CMakePackageConfigHelpers.cmake @@ -40,7 +40,7 @@ # set(FOO_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@" ) # set(FOO_DATA_DIR "@CMAKE_INSTALL_PREFIX@/@RELATIVE_DATA_INSTALL_DIR@" ) # set(FOO_ICONS_DIR "@CMAKE_INSTALL_PREFIX@/share/icons" ) -# ...logic to determine installedPrefix from the own location... +# #...logic to determine installedPrefix from the own location... # set(FOO_CONFIG_DIR "${installedPrefix}/@CONFIG_INSTALL_DIR@" ) # # All 4 options shown above are not sufficient, since the first 3 hardcode the @@ -174,7 +174,7 @@ # set(INCLUDE_INSTALL_DIR include/ ... CACHE ) # set(LIB_INSTALL_DIR lib/ ... CACHE ) # set(SYSCONFIG_INSTALL_DIR etc/foo/ ... CACHE ) -# ... +# #... # include(CMakePackageConfigHelpers) # configure_package_config_file(FooConfig.cmake.in # ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake @@ -190,7 +190,7 @@ # # ``FooConfig.cmake.in``: # -# .. code-block:: cmake +# :: # # set(FOO_VERSION x.y.z) # ... -- cgit v0.12