X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2FCMakeLists.txt;h=e7ce95c9c607b82720ea23eed5f63b9b49845788;hb=9d8ad7151bed36742138f7422307d19d0d64373c;hp=ace24785f753928b524dab0b114aa80d49fc57e3;hpb=acb156e60a8d705a56806ca51212bab22ec1e79d;p=awesomized%2Flibmemcached diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index ace24785..e7ce95c9 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -1,20 +1,20 @@ find_package(Sphinx) -if(SPHINX_EXECUTABLE) +if(NOT SPHINX_EXECUTABLE) - if(NOT DEFINED SPHINX_THEME) - set(SPHINX_THEME sphinx_rtd_theme) - set(SPHINX_THEME_OPTIONS "'collapse_navigation':False, 'navigation_depth':2, 'titles_only':False, 'includehidden':False") - endif() + message(WARNING "The sphinx-build command is required to build manpages.") - if(NOT DEFINED SPHINX_THEME_DIR) - set(SPHINX_THEME_DIR) - endif() +else() if(NOT DEFINED SPHINX_OPTIONS) set(SPHINX_OPTIONS) endif() + if(NOT DEFINED SPHINX_THEME) + set(SPHINX_THEME sphinx_rtd_theme) + set(SPHINX_THEME_OPTIONS "'collapse_navigation':False, 'navigation_depth':2, 'titles_only':False, 'includehidden':False") + endif() + set(SPHINX_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/source") # configured documentation tools and intermediate build results @@ -36,22 +36,48 @@ if(SPHINX_EXECUTABLE) add_custom_target(html ${SPHINX_EXECUTABLE} - -q -a -b html + -q -b html -c "${SPHINX_BUILD_DIR}" -d "${SPHINX_CACHE_DIR}" ${SPHINX_OPTIONS} "${SPHINX_SOURCE_DIR}" "${SPHINX_HTML_DIR}" BYPRODUCTS ${SPHINX_HTML_DIR} - COMMENT "Build HTML documentation with Sphinx") - add_custom_target(man + ) + add_custom_target(man ALL ${SPHINX_EXECUTABLE} - -q -a -b man + -q -b man -c "${SPHINX_BUILD_DIR}" -d "${SPHINX_CACHE_DIR}" ${SPHINX_OPTIONS} "${SPHINX_SOURCE_DIR}" "${SPHINX_MAN_DIR}" BYPRODUCTS ${SPHINX_MAN_DIR} - COMMENT "Build manpage documentation with Sphinx") + ) + + set(MAN_EXT "") + if(GZIP_MAN) + find_program(PIGZ pigz) + if(PIGZ) + set(GZIP ${PIGZ}) + else() + find_package(UnixCommands) + endif() + if(GZIP) + set(MAN_EXT ".gz") + add_custom_target(man_gz ALL + ${GZIP} -kf ${SPHINX_MAN_DIR}/*.{1,3} + DEPENDS man + ) + endif() + endif() + + install(DIRECTORY ${SPHINX_MAN_DIR}/ + DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 + FILES_MATCHING PATTERN *.1${MAN_EXT} + ) + install(DIRECTORY ${SPHINX_MAN_DIR}/ + DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 + FILES_MATCHING PATTERN *.3${MAN_EXT} + ) endif()