summaryrefslogtreecommitdiffstats
path: root/Utilities/Sphinx
diff options
context:
space:
mode:
authorBjörn Esser <besser82@fedoraproject.org>2017-07-29 09:47:36 (GMT)
committerBrad King <brad.king@kitware.com>2017-08-02 15:25:21 (GMT)
commit2a68ff7fd739860f117d9bf80fe38ec331edd596 (patch)
tree73bc2a7adc1ccf5edc4ac74c63cb04df4accae12 /Utilities/Sphinx
parentf15cfd891d1e01247ed285320ae32b6c3182ac8f (diff)
downloadCMake-2a68ff7fd739860f117d9bf80fe38ec331edd596.zip
CMake-2a68ff7fd739860f117d9bf80fe38ec331edd596.tar.gz
CMake-2a68ff7fd739860f117d9bf80fe38ec331edd596.tar.bz2
Utilities/Sphinx: Restore compatibility with Sphinx pre-1.2
Since commit v3.8.0-rc2~28^2~2 (Utilities/Sphinx: Port cmake extension to Sphinx 1.4, 2017-02-09) we use the `sphinx.version_info` tuple. However, it was added in Sphinx v1.2 so the check breaks compatibility with older versions. Revise our check to assume Sphinx pre-1.2 if the version tuple does not exist.
Diffstat (limited to 'Utilities/Sphinx')
-rw-r--r--Utilities/Sphinx/cmake.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py
index 6f273f9..cfda2d4 100644
--- a/Utilities/Sphinx/cmake.py
+++ b/Utilities/Sphinx/cmake.py
@@ -46,7 +46,20 @@ 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, version_info
+from sphinx import addnodes
+
+# Needed for checking if Sphinx version is >= 1.4.
+# See https://github.com/sphinx-doc/sphinx/issues/2673
+old_sphinx = False
+
+try:
+ from sphinx import version_info
+ if version_info < (1, 4):
+ old_sphinx = True
+except ImportError:
+ # The `sphinx.version_info` tuple was added in Sphinx v1.2:
+ old_sphinx = True
+
class CMakeModule(Directive):
required_arguments = 1
@@ -124,7 +137,7 @@ class _cmake_index_entry:
def __call__(self, title, targetid, main = 'main'):
# See https://github.com/sphinx-doc/sphinx/issues/2673
- if version_info < (1, 4):
+ if old_sphinx:
return ('pair', u'%s ; %s' % (self.desc, title), targetid, main)
else:
return ('pair', u'%s ; %s' % (self.desc, title), targetid, main, None)