diff --git a/CMakeLists.txt b/CMakeLists.txt index 312cfd177e5794a65401245029b0318d1cb8b977..6acc7c6aa3ed360d7a8d6a26b7760bce9a4600f1 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 7241cc922b5ed8b39d6fd42222e83fbe01908d6a..416698e60bd1f65c85d30286bfaff54e4cd59df3 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 7f9e1cb35d8d75f284346e2286d342cee0200428..8b0083521de836a574ce4dc22a9a8c9be559607e 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 aa797c838ed486cd771ad4601681bdcb9bbb2281..ee097af2a65b08f850400db74b4ba327a2d10560 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