From 6064b9072c480845b2ba61291e467b42cb500fe6 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 30 Apr 2015 09:22:43 -0400 Subject: [PATCH 1/2] bootstrap: Fix SPHINX_{MAN,HTML,QTHELP} cache entry type These cache entries should be generated with type BOOL, not FILEPATH. --- bootstrap | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bootstrap b/bootstrap index ad02a822d..00b51b5ff 100755 --- a/bootstrap +++ b/bootstrap @@ -1666,17 +1666,17 @@ set (QT_QMAKE_EXECUTABLE "'"${cmake_bootstrap_qt_qmake}"'" CACHE FILEPATH "Locat fi if [ "x${cmake_sphinx_man}" != "x" ]; then echo ' -set (SPHINX_MAN "'"${cmake_sphinx_man}"'" CACHE FILEPATH "Build man pages with Sphinx" FORCE) +set (SPHINX_MAN "'"${cmake_sphinx_man}"'" CACHE BOOL "Build man pages with Sphinx" FORCE) ' >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake" fi if [ "x${cmake_sphinx_html}" != "x" ]; then echo ' -set (SPHINX_HTML "'"${cmake_sphinx_html}"'" CACHE FILEPATH "Build html help with Sphinx" FORCE) +set (SPHINX_HTML "'"${cmake_sphinx_html}"'" CACHE BOOL "Build html help with Sphinx" FORCE) ' >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake" fi if [ "x${cmake_sphinx_qthelp}" != "x" ]; then echo ' -set (SPHINX_QTHELP "'"${cmake_sphinx_qthelp}"'" CACHE FILEPATH "Build qch help with Sphinx" FORCE) +set (SPHINX_QTHELP "'"${cmake_sphinx_qthelp}"'" CACHE BOOL "Build qch help with Sphinx" FORCE) ' >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake" fi if [ "x${cmake_sphinx_build}" != "x" ]; then From dd107b30d26b2cdaa5b1766f733428f3c4c7cd42 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 30 Apr 2015 09:30:14 -0400 Subject: [PATCH 2/2] Add option to pass custom flags to sphinx-build (#15545) Create a SPHINX_FLAGS cache entry that users can populate with command-line flags for sphinx-build. Add an option to the bootstrap script to populate it up front. Suggested-by: Felix Geyer --- Utilities/Sphinx/CMakeLists.txt | 4 ++++ bootstrap | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/Utilities/Sphinx/CMakeLists.txt b/Utilities/Sphinx/CMakeLists.txt index da8175297..a755ca129 100644 --- a/Utilities/Sphinx/CMakeLists.txt +++ b/Utilities/Sphinx/CMakeLists.txt @@ -31,8 +31,11 @@ find_program(SPHINX_EXECUTABLE NAMES sphinx-build DOC "Sphinx Documentation Builder (sphinx-doc.org)" ) +set(SPHINX_FLAGS "" CACHE STRING "Flags to pass to sphinx-build") +separate_arguments(sphinx_flags UNIX_COMMAND "${SPHINX_FLAGS}") mark_as_advanced(SPHINX_TEXT) +mark_as_advanced(SPHINX_FLAGS) if(NOT SPHINX_MAN AND NOT SPHINX_HTML AND NOT SPHINX_SINGLEHTML AND NOT SPHINX_QTHELP AND NOT SPHINX_TEXT) return() @@ -114,6 +117,7 @@ foreach(format ${doc_formats}) -c ${CMAKE_CURRENT_BINARY_DIR} -d ${CMAKE_CURRENT_BINARY_DIR}/doctrees -b ${format} + ${sphinx_flags} ${CMake_SOURCE_DIR}/Help ${CMAKE_CURRENT_BINARY_DIR}/${format} > ${doc_format_log} # log stdout, pass stderr diff --git a/bootstrap b/bootstrap index 00b51b5ff..14046eeec 100755 --- a/bootstrap +++ b/bootstrap @@ -74,6 +74,7 @@ cmake_sphinx_man="" cmake_sphinx_html="" cmake_sphinx_qthelp="" cmake_sphinx_build="" +cmake_sphinx_flags="" # Determine whether this is a Cygwin environment. if echo "${cmake_system}" | grep CYGWIN >/dev/null 2>&1; then @@ -423,6 +424,7 @@ Configuration: --sphinx-html build html help with Sphinx --sphinx-qthelp build qch help with Sphinx --sphinx-build= use as the sphinx-build executable + --sphinx-flags= pass to sphinx-build executable Directory and file names: --prefix=PREFIX install files in tree rooted at PREFIX @@ -660,6 +662,7 @@ while test $# != 0; do --sphinx-html) cmake_sphinx_html="1" ;; --sphinx-qthelp) cmake_sphinx_qthelp="1" ;; --sphinx-build=*) cmake_sphinx_build=`cmake_arg "$1"` ;; + --sphinx-flags=*) cmake_sphinx_flags=`cmake_arg "$1"` ;; --help) cmake_usage ;; --version) cmake_version_display ; exit 2 ;; --verbose) cmake_verbose=TRUE ;; @@ -1684,6 +1687,11 @@ if [ "x${cmake_sphinx_build}" != "x" ]; then set (SPHINX_EXECUTABLE "'"${cmake_sphinx_build}"'" CACHE FILEPATH "Location of Qt sphinx-build" FORCE) ' >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake" fi +if [ "x${cmake_sphinx_flags}" != "x" ]; then + echo ' +set (SPHINX_FLAGS [==['"${cmake_sphinx_flags}"']==] CACHE STRING "Flags to pass to sphinx-build" FORCE) +' >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake" +fi # Add user-specified settings. Handle relative-path case for # specification of cmake_init_file.