From 2a68ff7fd739860f117d9bf80fe38ec331edd596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 29 Jul 2017 11:47:36 +0200 Subject: 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. --- Utilities/Sphinx/cmake.py | 17 +++++++++++++++-- 1 file 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) -- cgit v0.12