X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2FCMakeLists.txt;h=1240f31ebacca303126ed1a1e1d6a480dc7ac626;hb=c0f50dec5334f54cf060b1f9c4250c72649b4ff2;hp=784fadb71b09332e77f53bdeb87eb336a33f42b0;hpb=c3526f7547e7a69204a25982f6764afdab663252;p=awesomized%2Flibmemcached diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index 784fadb7..1240f31e 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -2,7 +2,7 @@ find_package(Sphinx) if(NOT SPHINX_EXECUTABLE) - message(WARNING "The sphinx-build command is required to build manpages.") + message(WARNING "The sphinx-build command is required to build documentation.") else() @@ -29,13 +29,17 @@ else() # MAN output directory set(SPHINX_MAN_DIR "${SPHINX_BUILD_DIR}/man") - configure_file( - "${SPHINX_SOURCE_DIR}/conf.py.in" - "${SPHINX_BUILD_DIR}/conf.py" - @ONLY) + configure_file("conf.py.in" "conf.py" @ONLY) + add_subdirectory(source) + + file(GLOB_RECURSE DOCS_SOURCE + CONFIGURE_DEPENDS + "*.rst") if(BUILD_DOCS_HTML) - add_custom_target(html + add_custom_command( + OUTPUT "${SPHINX_HTML_DIR}" + COMMAND ${SPHINX_EXECUTABLE} -q -b html -c "${SPHINX_BUILD_DIR}" @@ -43,12 +47,21 @@ else() ${SPHINX_OPTIONS} "${SPHINX_SOURCE_DIR}" "${SPHINX_HTML_DIR}" + COMMAND ${CMAKE_COMMAND} -E touch html BYPRODUCTS ${SPHINX_HTML_DIR} + DEPENDS "${DOCS_SOURCE}" ) + add_custom_target(html ALL DEPENDS "${SPHINX_HTML_DIR}") + + install(DIRECTORY ${SPHINX_HTML_DIR}/ + COMPONENT doc + DESTINATION ${CMAKE_INSTALL_DOCDIR}/html) endif() if(BUILD_DOCS_MAN) - add_custom_target(man ALL + add_custom_command( + OUTPUT ${SPHINX_MAN_DIR} + COMMAND ${SPHINX_EXECUTABLE} -q -b man -c "${SPHINX_BUILD_DIR}" @@ -56,8 +69,11 @@ else() ${SPHINX_OPTIONS} "${SPHINX_SOURCE_DIR}" "${SPHINX_MAN_DIR}" + COMMAND ${CMAKE_COMMAND} -E touch man BYPRODUCTS ${SPHINX_MAN_DIR} + DEPENDS "${DOCS_SOURCE}" ) + add_custom_target(man ALL DEPENDS "${SPHINX_MAN_DIR}") set(MAN_EXT "") if(BUILD_DOCS_MANGZ) @@ -77,10 +93,12 @@ else() endif() install(DIRECTORY ${SPHINX_MAN_DIR}/ + COMPONENT doc DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 FILES_MATCHING PATTERN *.1${MAN_EXT} ) install(DIRECTORY ${SPHINX_MAN_DIR}/ + COMPONENT doc DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 FILES_MATCHING PATTERN *.3${MAN_EXT} )