mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-30 18:29:37 -06:00
@@ -2,19 +2,22 @@
|
||||
if(BEOS)
|
||||
set(CMAKE_BIN_DIR_DEFAULT "bin") # HAIKU
|
||||
set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
|
||||
set(CMAKE_MAN_DIR_DEFAULT "documentation/man") # HAIKU
|
||||
set(CMAKE_DOC_DIR_DEFAULT "documentation/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
|
||||
set(CMAKE_INFO_DIR_DEFAULT "documentation/info") # HAIKU
|
||||
set(CMAKE_MAN_DIR_DEFAULT "documentation/man") # HAIKU
|
||||
set(CMAKE_XDGDATA_DIR_DEFAULT "share") # HAIKU
|
||||
elseif(CYGWIN)
|
||||
set(CMAKE_BIN_DIR_DEFAULT "bin") # CYGWIN
|
||||
set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION}") # CYGWIN
|
||||
set(CMAKE_DOC_DIR_DEFAULT "share/doc/cmake-${CMake_VERSION}") # CYGWIN
|
||||
set(CMAKE_INFO_DIR_DEFAULT "share/info") # CYGWIN
|
||||
set(CMAKE_MAN_DIR_DEFAULT "share/man") # CYGWIN
|
||||
set(CMAKE_XDGDATA_DIR_DEFAULT "share") # CYGWIN
|
||||
else()
|
||||
set(CMAKE_BIN_DIR_DEFAULT "bin") # OTHER
|
||||
set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # OTHER
|
||||
set(CMAKE_DOC_DIR_DEFAULT "doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # OTHER
|
||||
set(CMAKE_INFO_DIR_DEFAULT "info") # OTHER
|
||||
set(CMAKE_MAN_DIR_DEFAULT "man") # OTHER
|
||||
set(CMAKE_XDGDATA_DIR_DEFAULT "share") # OTHER
|
||||
endif()
|
||||
@@ -22,6 +25,7 @@ endif()
|
||||
set(CMAKE_BIN_DIR_DESC "bin")
|
||||
set(CMAKE_DATA_DIR_DESC "data")
|
||||
set(CMAKE_DOC_DIR_DESC "docs")
|
||||
set(CMAKE_INFO_DIR_DESC "Info manual")
|
||||
set(CMAKE_MAN_DIR_DESC "man pages")
|
||||
set(CMAKE_XDGDATA_DIR_DESC "XDG specific files")
|
||||
|
||||
@@ -35,6 +39,7 @@ foreach(v
|
||||
CMAKE_BIN_DIR
|
||||
CMAKE_DATA_DIR
|
||||
CMAKE_DOC_DIR
|
||||
CMAKE_INFO_DIR
|
||||
CMAKE_MAN_DIR
|
||||
CMAKE_XDGDATA_DIR
|
||||
)
|
||||
|
||||
@@ -17,6 +17,7 @@ if(NOT CMake_SOURCE_DIR)
|
||||
endif()
|
||||
project(CMakeHelp NONE)
|
||||
|
||||
option(SPHINX_INFO "Build Info manual with Sphinx" OFF)
|
||||
option(SPHINX_MAN "Build man pages with Sphinx" OFF)
|
||||
option(SPHINX_HTML "Build html help with Sphinx" OFF)
|
||||
option(SPHINX_SINGLEHTML "Build html single page help with Sphinx" OFF)
|
||||
@@ -32,7 +33,7 @@ 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)
|
||||
if(NOT SPHINX_INFO AND NOT SPHINX_MAN AND NOT SPHINX_HTML AND NOT SPHINX_SINGLEHTML AND NOT SPHINX_QTHELP AND NOT SPHINX_TEXT)
|
||||
return()
|
||||
elseif(NOT SPHINX_EXECUTABLE)
|
||||
message(FATAL_ERROR "SPHINX_EXECUTABLE (sphinx-build) is not found!")
|
||||
@@ -66,6 +67,24 @@ endif()
|
||||
if(SPHINX_TEXT)
|
||||
list(APPEND doc_formats text)
|
||||
endif()
|
||||
if(SPHINX_INFO)
|
||||
find_program(MAKEINFO_EXECUTABLE
|
||||
NAMES makeinfo
|
||||
DOC "makeinfo tool"
|
||||
)
|
||||
if (NOT MAKEINFO_EXECUTABLE)
|
||||
message(FATAL_ERROR "MAKEINFO_EXECUTABLE (makeinfo) not found!")
|
||||
endif()
|
||||
list(APPEND doc_formats texinfo)
|
||||
|
||||
# Sphinx texinfo builder supports .info, .txt, .html and .pdf output.
|
||||
# SPHINX_INFO controls the .info output.
|
||||
set(texinfo_extra_commands
|
||||
COMMAND ${MAKEINFO_EXECUTABLE} --no-split -o
|
||||
${CMAKE_CURRENT_BINARY_DIR}/texinfo/cmake.info
|
||||
${CMAKE_CURRENT_BINARY_DIR}/texinfo/cmake.texi
|
||||
)
|
||||
endif()
|
||||
if(SPHINX_QTHELP)
|
||||
find_package(PythonInterp REQUIRED)
|
||||
|
||||
@@ -143,6 +162,14 @@ if(CMake_SPHINX_DEPEND_ON_EXECUTABLES)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if(SPHINX_INFO)
|
||||
CMake_OPTIONAL_COMPONENT(sphinx-info)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/texinfo/cmake.info
|
||||
DESTINATION ${CMAKE_INFO_DIR}
|
||||
${COMPONENT}
|
||||
)
|
||||
endif()
|
||||
|
||||
if(SPHINX_MAN)
|
||||
file(GLOB man_rst RELATIVE ${CMake_SOURCE_DIR}/Help/manual
|
||||
${CMake_SOURCE_DIR}/Help/manual/*.[1-9].rst)
|
||||
|
||||
@@ -72,6 +72,7 @@ cmake_init_file=""
|
||||
cmake_bootstrap_system_libs=""
|
||||
cmake_bootstrap_qt_gui=""
|
||||
cmake_bootstrap_qt_qmake=""
|
||||
cmake_sphinx_info=""
|
||||
cmake_sphinx_man=""
|
||||
cmake_sphinx_html=""
|
||||
cmake_sphinx_qthelp=""
|
||||
@@ -578,6 +579,7 @@ Configuration:
|
||||
--no-qt-gui do not build the Qt-based GUI (default)
|
||||
--qt-qmake=<qmake> use <qmake> as the qmake executable to find Qt
|
||||
|
||||
--sphinx-info build Info manual with Sphinx
|
||||
--sphinx-man build man pages with Sphinx
|
||||
--sphinx-html build html help with Sphinx
|
||||
--sphinx-qthelp build qch help with Sphinx
|
||||
@@ -816,6 +818,7 @@ while test $# != 0; do
|
||||
--qt-gui) cmake_bootstrap_qt_gui="1" ;;
|
||||
--no-qt-gui) cmake_bootstrap_qt_gui="0" ;;
|
||||
--qt-qmake=*) cmake_bootstrap_qt_qmake=`cmake_arg "$1"` ;;
|
||||
--sphinx-info) cmake_sphinx_info="1" ;;
|
||||
--sphinx-man) cmake_sphinx_man="1" ;;
|
||||
--sphinx-html) cmake_sphinx_html="1" ;;
|
||||
--sphinx-qthelp) cmake_sphinx_qthelp="1" ;;
|
||||
@@ -1489,6 +1492,11 @@ if [ "x${cmake_bootstrap_qt_qmake}" != "x" ]; then
|
||||
set (QT_QMAKE_EXECUTABLE "'"${cmake_bootstrap_qt_qmake}"'" CACHE FILEPATH "Location of Qt qmake" FORCE)
|
||||
' >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake"
|
||||
fi
|
||||
if [ "x${cmake_sphinx_info}" != "x" ]; then
|
||||
echo '
|
||||
set (SPHINX_INFO "'"${cmake_sphinx_info}"'" CACHE BOOL "Build Info manual with Sphinx" FORCE)
|
||||
' >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake"
|
||||
fi
|
||||
if [ "x${cmake_sphinx_man}" != "x" ]; then
|
||||
echo '
|
||||
set (SPHINX_MAN "'"${cmake_sphinx_man}"'" CACHE BOOL "Build man pages with Sphinx" FORCE)
|
||||
|
||||
Reference in New Issue
Block a user