# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
+
+import importlib
import os
import sys
import sphinx
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ['sphinx.ext.autodoc','sphinx.ext.autosummary']
-try:
- import sphinxcontrib.napoleon
- extensions += ['sphinxcontrib.napoleon']
-except:
- pass
-try:
- import sphinx_rtd_theme
- extensions += ['sphinx_rtd_theme']
- use_rtd_theme = True
-except:
- use_rtd_theme = False
+# Optional extensions
+extra_extensions = ['sphinx_rtd_theme']
+if sphinx.version_info[:2] < (1,3):
+ extra_extensions += ['sphinxcontrib.napoleon']
+else:
+ extra_extensions += ['sphinx.ext.napoleon']
+for ext in extra_extensions:
+ try:
+ importlib.import_module(ext)
+ extensions.append(ext)
+ globals().update({'use_{}'.format(ext):True})
+ except:
+ globals().update({'use_{}'.format(ext):False})
# Add any paths that contain templates here, relative to this directory.
#templates_path = [os.path.join('@CMAKE_CURRENT_SOURCE_DIR@','templates')]
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
-if use_rtd_theme:
+if use_sphinx_rtd_theme:
html_theme = 'sphinx_rtd_theme'
else:
html_theme = 'default' if sphinx.version_info[:2] < (1,3) else 'classic'
# All configuration values have a default; values that are commented out
# serve to show the default.
+import importlib
import sys
import os
import sphinx
'sphinx.ext.todo',
'sphinx.ext.coverage',
'sphinx.ext.viewcode',
- 'sphinx.ext.napoleon',
'sphinx.ext.autosummary',
]
-try:
- import sphinx_rtd_theme
- extensions += ['sphinx_rtd_theme']
- use_rtd_theme = True
-except:
- use_rtd_theme = False
+# Optional extensions
+extra_extensions = ['sphinx_rtd_theme']
+if sphinx.version_info[:2] < (1,3):
+ extra_extensions += ['sphinxcontrib.napoleon']
+else:
+ extra_extensions += ['sphinx.ext.napoleon']
+for ext in extra_extensions:
+ try:
+ importlib.import_module(ext)
+ extensions.append(ext)
+ globals().update({'use_{}'.format(ext):True})
+ except:
+ globals().update({'use_{}'.format(ext):False})
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-if use_rtd_theme:
+if use_sphinx_rtd_theme:
html_theme = 'sphinx_rtd_theme'
else:
html_theme = 'default' if sphinx.version_info[:2] < (1,3) else 'classic'