diff --git a/CMakeLists.txt b/CMakeLists.txt index a5ea6ab67ed..9387b97f25e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -636,6 +636,13 @@ IF(NOT ENABLE_META_EXAMPLES) SET(ENABLE_COOKBOOK 0) ENDIF() +find_package(Sphinx) +IF(NOT SPHINX_FOUND) + message("-- Sphinx is required for building cookbook. Disabling.") + SET(ENABLE_COOKBOOK 0) +ENDIF() + + FIND_PACKAGE(LpSolve) IF (LPSOLVE_FOUND) SET(USE_LPSOLVE 1) diff --git a/cmake/FindSphinx.cmake b/cmake/FindSphinx.cmake new file mode 100644 index 00000000000..e9b3208c2be --- /dev/null +++ b/cmake/FindSphinx.cmake @@ -0,0 +1,24 @@ +# Talen from https://llvm.org/svn/llvm-project/llvm/trunk/cmake/modules/FindSphinx.cmake +# under "UIUC" BSD-Style license. +# CMake find_package() Module for Sphinx documentation generator +# http://sphinx-doc.org/ +# +# Example usage: +# +# find_package(Sphinx) +# +# If successful the following variables will be defined +# SPHINX_FOUND +# SPHINX_EXECUTABLE + +find_program(SPHINX_EXECUTABLE + NAMES sphinx-build sphinx-build2 + DOC "Path to sphinx-build executable") + +# Handle REQUIRED and QUIET arguments +# this will also set SPHINX_FOUND to true if SPHINX_EXECUTABLE exists +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Sphinx + "Failed to locate sphinx-build executable" + SPHINX_EXECUTABLE) + diff --git a/doc/cookbook/CMakeLists.txt b/doc/cookbook/CMakeLists.txt index 37c76e76755..08bd597c677 100644 --- a/doc/cookbook/CMakeLists.txt +++ b/doc/cookbook/CMakeLists.txt @@ -1,8 +1,6 @@ #PROJECT(sphinxdoc) #cmake_minimum_required(VERSION 2.8.8) -set(SPHINX_EXECUTABLE "sphinx-build") - # configured documentation tools and intermediate build results set(BINARY_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/_build")