Blob Blame History Raw
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index f3dae606..2af32d53 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -4,8 +4,11 @@ if (NOT DOXYGEN)
   return ()
 endif ()
 
+find_program(SPHINX_EXECUTABLE
+  NAMES sphinx-build sphinx-build-3)
 add_custom_target(doc
-  COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/build.py ${FMT_VERSION}
+  COMMAND ${CMAKE_COMMAND} -E env SPHINX_EXECUTABLE=${SPHINX_EXECUTABLE}
+    ${CMAKE_CURRENT_SOURCE_DIR}/build.py ${FMT_VERSION}
   SOURCES api.rst syntax.rst usage.rst build.py conf.py _templates/layout.html)
 
 install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/
diff --git a/doc/build.py b/doc/build.py
index af3313d1..44b31343 100755
--- a/doc/build.py
+++ b/doc/build.py
@@ -49,7 +49,8 @@ def build_docs(version='dev', **kwargs):
     raise CalledProcessError(p.returncode, cmd)
   html_dir = os.path.join(work_dir, 'html')
   main_versions = reversed(versions[-3:])
-  check_call(['sphinx-build',
+  sphinx_build = os.environ.get('SPHINX_EXECUTABLE', 'sphinx-build')
+  check_call([sphinx_build,
               '-Dbreathe_projects.format=' + os.path.abspath(doxyxml_dir),
               '-Dversion=' + version, '-Drelease=' + version,
               '-Aversion=' + version, '-Aversions=' + ','.join(main_versions),
-- 
2.26.2