Skip to content
Snippets Groups Projects
Commit 14825483 authored by Konstantin Osipov's avatar Konstantin Osipov
Browse files

Merge branch 'bug837484'

parents 7eff8c8f 35dfb6b7
No related branches found
No related tags found
No related merge requests found
......@@ -13,6 +13,8 @@ include(CheckFunctionExists)
find_program(ECHO echo)
find_program(XSLTPROC xsltproc)
find_program(XMLLINT xmllint)
find_program(JING jing)
find_program(LYNX lynx)
find_program(CAT cat)
find_program(GIT git)
find_program(RAGEL ragel)
......
add_subdirectory(user EXCLUDE_FROM_ALL)
add_subdirectory(developer EXCLUDE_FROM_ALL)
add_subdirectory(www-data.in EXCLUDE_FROM_ALL)
add_subdirectory(man)
add_subdirectory(user)
add_subdirectory(developer)
add_subdirectory(www-data.in EXCLUDE_FROM_ALL)
add_custom_target(dev-html ALL
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
${CMAKE_SOURCE_DIR}/doc/developer/developer.xml)
endif()
add_custom_command(OUTPUT ${PATH_DEVGUIDE_HTML}
COMMAND ${XSLTPROC} --nonet
--stringparam collect.xref.targets "all"
--xinclude -o ${PROJECT_BINARY_DIR}/doc/www-data/tarantool_developer_guide.html
--xinclude -o ${PATH_DEVGUIDE_HTML}
${CMAKE_SOURCE_DIR}/doc/user/tnt-html.xsl
developer.xml)
${CMAKE_SOURCE_DIR}/doc/developer/developer.xml)
add_custom_command(OUTPUT ${PATH_DEVGUIDE_TXT}
DEPENDS ${PATH_DEVGUIDE_HTML}
COMMAND ${LYNX} -dump ${PATH_DEVGUIDE_HTML} > ${PATH_DEVGUIDE_TXT})
add_custom_target(dev-check ALL
COMMAND jing http://docbook.org/xml/5.0/rng/docbookxi.rng developer.xml
)
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()
endif()
add_custom_target(html ALL
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")
# XMLLINT is not able to validate SCHEMATRON constraints, and
# therefore is not a good validation tool for DocBook 5. However,
# it can validate the entire document, following xinclude
# directives, and thus is used here. To validate individual XML
# files, or for troubleshooting, I (Kostja) recommend using jing,
# 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
${CMAKE_SOURCE_DIR}/doc/user/user.xml)
endif()
#
# xsltproc-based documentation generation (default)
#
add_custom_command(OUTPUT ${PATH_USERGUIDE_HTML}
COMMAND ${XSLTPROC} --nonet
--stringparam collect.xref.targets "all"
--xinclude -o ${PROJECT_BINARY_DIR}/doc/www-data/tarantool_user_guide.html
tnt-html.xsl
user.xml)
--xinclude -o ${PATH_USERGUIDE_HTML}
${CMAKE_SOURCE_DIR}/doc/user/tnt-html.xsl
${CMAKE_SOURCE_DIR}/doc/user/user.xml)
add_custom_command(OUTPUT ${PATH_USERGUIDE_TXT}
DEPENDS ${PATH_USERGUIDE_HTML}
COMMAND ${LYNX} -dump ${PATH_USERGUIDE_HTML} > ${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()
endif()
add_custom_target(pdf
COMMAND ${XSLTPROC} --nonet
--stringparam collect.xref.targets "all"
--xinclude -o tarantool_user_guide.fo
tnt-fo.xsl
user.xml
${CMAKE_SOURCE_DIR}/doc/user/tnt-fo.xsl
${CMAKE_SOURCE_DIR}/doc/user/user.xml
COMMAND fop tarantool_user_guide.fo tarantool_user_guide.pdf)
add_custom_target(relink
COMMAND ${XSLTPROC} --nonet
--stringparam collect.xref.targets "only"
--xinclude -o ${PROJECT_BINARY_DIR}/doc/www-data/tarantool_user_guide.html
tnt-html.xsl
user.xml)
--xinclude -o ${PATH_USERGUIDE_HTML}
${CMAKE_SOURCE_DIR}/doc/user/tnt-html.xsl
${CMAKE_SOURCE_DIR}/doc/user/user.xml)
#
# Java saxon-based documentation generation (misc)
#
add_custom_target(html-saxon
COMMAND java -cp "/usr/share/java/saxon.jar:/usr/share/java/xml-resolver.jar:/usr/share/java/docbook-xsl-saxon.jar:/usr/share/java/xercesImpl.jar:/etc/xml/resolver:/usr/share/java/xslthl.jar:/usr/share/java/xml-commons-resolver-1.1.jar"
-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
......@@ -29,7 +73,7 @@ add_custom_target(html-saxon
-x org.apache.xml.resolver.tools.ResolvingXMLReader
-y org.apache.xml.resolver.tools.ResolvingXMLReader
-r org.apache.xml.resolver.tools.CatalogResolver
-u -o ${PROJECT_BINARY_DIR}/doc/www-data/tarantool_user_guide.html user.xml tnt-html.xsl)
-u -o ${PATH_USERGUIDE_HTML} user.xml tnt-html.xsl)
add_custom_target(pdf-saxon
COMMAND java -cp "/usr/share/java/saxon.jar:/usr/share/java/xml-commons-resolver-1.1.jar:/usr/share/java/docbook-xsl-saxon.jar:/usr/share/java/xercesImpl.jar:/etc/xml/resolver:/usr/share/java/xslthl.jar"
......@@ -42,15 +86,3 @@ add_custom_target(pdf-saxon
-r org.apache.xml.resolver.tools.CatalogResolver
-u -o tarantool_user_guide.fo user.xml tnt-fo.xsl
COMMAND fop tarantool_user_guide.fo tarantool_user_guide.pdf)
# XMLLINT is not able to validate SCHEMATRON constraints, and
# therefore is not a good validation tool for DocBook 5. However,
# it can validate the entire document, following xinclude
# directives, and thus is used here. To validate individual XML
# files, or for troubleshooting, I (Kostja) recommend using jing,
# since its diagnostics output is significantly more readable:
# jing http://docbook.org/xml/5.0/rng/docbookxi.rng file.xml
#
add_custom_target(check ALL
COMMAND ${XMLLINT} --xinclude --noout --relaxng http://docbook.org/xml/5.0/rng/docbookxi.rng user.xml
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment