From 907c315580012ca7e75c640c88f79e3ff2239276 Mon Sep 17 00:00:00 2001 From: vsr Date: Fri, 19 Feb 2021 09:52:32 +0300 Subject: [PATCH 1/1] bos #23972 [CEA 19980] sphinxcontrib_napoleon is not needed with Sphinx >= 1.3 --- CMakeLists.txt | 6 +++++- doc/salome/gui/SMESH/conf.py.in | 28 ++++++++++++++++------------ 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6796fcfe9..feff178cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,8 +130,12 @@ IF(SALOME_BUILD_TESTS) ENDIF() IF(SALOME_BUILD_DOC) FIND_PACKAGE(SalomeDoxygen) - SET(Sphinx_EXTENSIONS sphinxcontrib.napoleon) FIND_PACKAGE(SalomeSphinx) + INCLUDE(UseSphinx) + SPHINX_CHECK_EXTENSIONS(sphinx_rtd_theme) + IF(SPHINX_VERSION VERSION_LESS "1.3") + SPHINX_CHECK_EXTENSIONS(sphinxcontrib.napoleon) + ENDIF() SALOME_LOG_OPTIONAL_PACKAGE(Doxygen SALOME_BUILD_DOC) SALOME_LOG_OPTIONAL_PACKAGE(Sphinx SALOME_BUILD_DOC) ENDIF() diff --git a/doc/salome/gui/SMESH/conf.py.in b/doc/salome/gui/SMESH/conf.py.in index 66efe32d3..be0975ff7 100644 --- a/doc/salome/gui/SMESH/conf.py.in +++ b/doc/salome/gui/SMESH/conf.py.in @@ -11,6 +11,7 @@ # All configuration values have a default; values that are commented out # serve to show the default. +import importlib import sys, os import sphinx @@ -25,17 +26,20 @@ import sphinx # Add any Sphinx extension module names here, as strings. They can be 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 pdfbuilder to build a pdf with rst2pdf #extensions = ['rst2pdf.pdfbuilder'] @@ -111,7 +115,7 @@ pygments_style = 'sphinx' # The theme to use for HTML and HTML Help pages. Major themes that come with # Sphinx are currently 'default' and 'sphinxdoc'. -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' -- 2.30.2