From 5e8c85ff7cde309cd227856b3994dea306ed8aa3 Mon Sep 17 00:00:00 2001 From: Dmitry Simonenko <pmwkaa@gmail.com> Date: Sat, 28 Apr 2012 17:29:26 +0400 Subject: [PATCH] doc-fix: added option to enable documentation build --- CMakeLists.txt | 4 +++- doc/CMakeLists.txt | 9 +++++++-- doc/developer/CMakeLists.txt | 30 ++++++++++++++-------------- doc/user/CMakeLists.txt | 38 ++++++++++++++++++++++-------------- 4 files changed, 48 insertions(+), 33 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 312cfd177e..6acc7c6aa3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -214,10 +214,11 @@ endif() # # Now handle all configuration options. # +option(ENABLE_DOC "Enable building of documentation" OFF) # LuaJIT options are defined in cmake/luajit.cmake -option(ENABLE_CLIENT "Enable building of console client" Off) +option(ENABLE_CLIENT "Enable building of console client" OFF) if (ENABLE_CLIENT) set (TARANTOOL_CLIENTS ${TARANTOOL_CLIENTS} "tarantool") endif() @@ -332,6 +333,7 @@ message (STATUS "ENABLE_TRACE: ${ENABLE_TRACE}") message (STATUS "ENABLE_BACKTRACE: ${ENABLE_BACKTRACE} (symbol resolve: ${HAVE_BFD})") message (STATUS "ENABLE_CLIENT: ${ENABLE_CLIENT}") message (STATUS "ENABLE_BUNDLED_LUAJIT: ${ENABLE_BUNDLED_LUAJIT}") +message (STATUS "ENABLE_DOC: ${ENABLE_DOC}") message (STATUS "") message (STATUS "To view or modify configuration results, check out CMakeCache.txt.") message (STATUS "") diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 7241cc922b..416698e60b 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,4 +1,9 @@ + add_subdirectory(man) -add_subdirectory(user) -add_subdirectory(developer) + +if (ENABLE_DOC) + add_subdirectory(user) + add_subdirectory(developer) +endif() + add_subdirectory(www-data.in EXCLUDE_FROM_ALL) diff --git a/doc/developer/CMakeLists.txt b/doc/developer/CMakeLists.txt index 7f9e1cb35d..8b0083521d 100644 --- a/doc/developer/CMakeLists.txt +++ b/doc/developer/CMakeLists.txt @@ -1,12 +1,14 @@ +if (JING STREQUAL "JING-NOTFOUND") + message (FATAL_ERROR "jing is missing") +endif() + set(PATH_DEVGUIDE_HTML "${PROJECT_BINARY_DIR}/doc/www-data/tarantool_developer_guide.html") set(PATH_DEVGUIDE_TXT "${PROJECT_BINARY_DIR}/doc/developer/tarantool_developer_guide.txt") -if (NOT JING STREQUAL "JING-NOTFOUND") - add_custom_target(doc-check-dev ALL - COMMAND ${JING} http://docbook.org/xml/5.0/rng/docbookxi.rng +add_custom_target(doc-check-dev ALL + COMMAND ${JING} http://docbook.org/xml/5.0/rng/docbookxi.rng ${CMAKE_SOURCE_DIR}/doc/developer/developer.xml) -endif() add_custom_command(OUTPUT ${PATH_DEVGUIDE_HTML} COMMAND ${XSLTPROC} --nonet @@ -22,15 +24,13 @@ add_custom_command(OUTPUT ${PATH_DEVGUIDE_TXT} add_custom_target(dev-html DEPENDS ${PATH_DEVGUIDE_HTML}) add_custom_target(dev-txt DEPENDS ${PATH_DEVGUIDE_TXT}) -if (NOT XSLTPROC STREQUAL "XSLTPROC-NOTFOUND" AND - NOT LYNX STREQUAL "LYNX-NOTFOUND") - add_custom_target(doc-autogen-dev ALL - DEPENDS ${PATH_DEVGUIDE_HTML} ${PATH_DEVGUIDE_TXT}) - if ("${CPACK_GENERATOR}" STREQUAL "RPM") - install (FILES ${PATH_DEVGUIDE_HTML} - ${PATH_DEVGUIDE_TXT} DESTINATION /usr/local/doc/tarantool) - else() - install (FILES ${PATH_DEVGUIDE_HTML} - ${PATH_DEVGUIDE_TXT} DESTINATION share/doc/tarantool) - endif() +add_custom_target(doc-autogen-dev ALL + DEPENDS ${PATH_DEVGUIDE_HTML} ${PATH_DEVGUIDE_TXT}) + +if ("${CPACK_GENERATOR}" STREQUAL "RPM") + install (FILES ${PATH_DEVGUIDE_HTML} + ${PATH_DEVGUIDE_TXT} DESTINATION /usr/local/doc/tarantool) +else() + install (FILES ${PATH_DEVGUIDE_HTML} + ${PATH_DEVGUIDE_TXT} DESTINATION share/doc/tarantool) endif() diff --git a/doc/user/CMakeLists.txt b/doc/user/CMakeLists.txt index aa797c838e..ee097af2a6 100644 --- a/doc/user/CMakeLists.txt +++ b/doc/user/CMakeLists.txt @@ -1,4 +1,16 @@ +if (XMLLINT STREQUAL "XMLLINT-NOTFOUND") + message (FATAL_ERROR "xmllint is missing") +endif() + +if (XSLTPROC STREQUAL "XSLTPROC-NOTFOUND") + message (FATAL_ERROR "xsltproc is missing") +endif() + +if (LYNX STREQUAL "LYNX-NOTFOUND") + message (FATAL_ERROR "lynx is missing") +endif() + set(PATH_USERGUIDE_HTML "${PROJECT_BINARY_DIR}/doc/www-data/tarantool_user_guide.html") set(PATH_USERGUIDE_TXT "${PROJECT_BINARY_DIR}/doc/user/tarantool_user_guide.txt") @@ -10,11 +22,9 @@ set(PATH_USERGUIDE_TXT "${PROJECT_BINARY_DIR}/doc/user/tarantool_user_guide.txt" # since its diagnostics output is significantly more readable: # jing http://docbook.org/xml/5.0/rng/docbookxi.rng file.xml # -if (NOT XMLLINT STREQUAL "XMLLINT-NOTFOUND") - add_custom_target(doc-check ALL - COMMAND ${XMLLINT} --xinclude --noout --relaxng http://docbook.org/xml/5.0/rng/docbookxi.rng +add_custom_target(doc-check ALL + COMMAND ${XMLLINT} --xinclude --noout --relaxng http://docbook.org/xml/5.0/rng/docbookxi.rng ${CMAKE_SOURCE_DIR}/doc/user/user.xml) -endif() # # xsltproc-based documentation generation (default) @@ -33,17 +43,15 @@ add_custom_command(OUTPUT ${PATH_USERGUIDE_TXT} add_custom_target(html DEPENDS ${PATH_USERGUIDE_HTML}) add_custom_target(txt DEPENDS ${PATH_USERGUIDE_TXT}) -if (NOT XSLTPROC STREQUAL "XSLTPROC-NOTFOUND" AND - NOT LYNX STREQUAL "LYNX-NOTFOUND") - add_custom_target(doc-autogen ALL - DEPENDS ${PATH_USERGUIDE_HTML} ${PATH_USERGUIDE_TXT}) - if ("${CPACK_GENERATOR}" STREQUAL "RPM") - install (FILES ${PATH_USERGUIDE_HTML} - ${PATH_USERGUIDE_TXT} DESTINATION /usr/local/doc/tarantool) - else() - install (FILES ${PATH_USERGUIDE_HTML} - ${PATH_USERGUIDE_TXT} DESTINATION share/doc/tarantool) - endif() +add_custom_target(doc-autogen ALL + DEPENDS ${PATH_USERGUIDE_HTML} ${PATH_USERGUIDE_TXT}) + +if ("${CPACK_GENERATOR}" STREQUAL "RPM") + install (FILES ${PATH_USERGUIDE_HTML} + ${PATH_USERGUIDE_TXT} DESTINATION /usr/local/doc/tarantool) +else() + install (FILES ${PATH_USERGUIDE_HTML} + ${PATH_USERGUIDE_TXT} DESTINATION share/doc/tarantool) endif() add_custom_target(pdf -- GitLab