diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2018-03-21 10:42:41 +0100 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2018-03-21 10:47:47 +0100 |
commit | ee6da0058fdcffe93566d139518e7c35bfff7586 (patch) | |
tree | f945a4e28bca3616b5b499de67d958d08e740d9a | |
parent | 50dc3bf5ae4bfbe5212f774b990e5a25f5602ce3 (diff) |
Initial docbook support for generating html helpxsltproc-docbook-support
issues:
- hhc does not run with on linux out of the box
- generated files does not have any content only an index
see http://www.sagehill.net/docbookxsl/HtmlHelp.html for further informations
-rw-r--r-- | cmake/modules/DocBookMacros.cmake | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/cmake/modules/DocBookMacros.cmake b/cmake/modules/DocBookMacros.cmake index aa4fcf3ff..b0872a57a 100644 --- a/cmake/modules/DocBookMacros.cmake +++ b/cmake/modules/DocBookMacros.cmake @@ -11,16 +11,18 @@ # DOCBOOK_STYLESHEET_MAN - default stylesheet for generating man pages # DOCBOOK_STYLESHEET_HTML - default stylesheet for generating html pages # DOCBOOK_STYLESHEET_PDF - default stylesheet for generating html pages +# DOCBOOK_STYLESHEET_HTMLHELP - default stylesheet for generating html help pages # DOCBOOK_INSTALL_MAN - default install directory for man pages (default value: share/man/man1) # DOCBOOK_INSTALL_HTML - default install directory for html pages (default value: share/doc/<lower_case_project_name>) # DOCBOOK_INSTALL_PDF - default install directory for pdf pages (default value: share/doc/<lower_case_project_name>) +# DOCBOOK_INSTALL_HTMLHELP - default install directory for HTML help pages (default value: share/doc/<lower_case_project_name>) # # provided macros: # # DOCBOOK_GENERATE(source type) # # @param source main docbook file -# @param type output type "man", "html" or "pdf" +# @param type output type "man", "html", "htmlhelp" or "pdf" # # generate output from docbook file into current build dir # and install generated file into the directory specified @@ -56,10 +58,12 @@ endif() set(DOCBOOK_STYLESHEET_MAN "${DOCBOOK_XSL_DIR}/manpages/docbook.xsl") set(DOCBOOK_STYLESHEET_HTML "${DOCBOOK_XSL_DIR}/html/docbook.xsl") set(DOCBOOK_STYLESHEET_PDF "${DOCBOOK_XSL_DIR}/fo/docbook.xsl") +set(DOCBOOK_STYLESHEET_HTMLHELP "${DOCBOOK_XSL_DIR}/htmlhelp/htmlhelp.xsl") set(DOCBOOK_INSTALL_MAN share/man/man1) string(TOLOWER ${PROJECT_NAME} _name) set(DOCBOOK_INSTALL_HTML share/doc/${_name}) set(DOCBOOK_INSTALL_PDF ${DOCBOOK_INSTALL_HTML}) +set(DOCBOOK_INSTALL_HTMLHELP ${DOCBOOK_INSTALL_HTML}) if(DOCBOOK_GENERATOR_NAME) add_custom_target(xmldoc ALL) @@ -69,6 +73,7 @@ macro(DOCBOOK_GENERATE _sources _format) string(TOUPPER ${_format} _key) get_filename_component(_infile ${_sources} ABSOLUTE) get_filename_component(_name ${_infile} NAME) + get_filename_component(_basename ${_infile} NAME_WE) set(_deps ${CMAKE_SOURCE_DIR}/CMakeLists.txt ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt) if(${_format} STREQUAL "pdf" AND NOT (FOP_EXECUTABLE OR XSLTPROC_EXECUTABLE)) message(FATAL_ERROR "generating pdf output not supported because of missing requirements (fop, xsltproc)") @@ -82,12 +87,21 @@ macro(DOCBOOK_GENERATE _sources _format) set(STYLESHEET ${DOCBOOK_STYLESHEET_${_key}}) set(_outfile ${CMAKE_CURRENT_BINARY_DIR}/${_outname}) + if(${_format} STREQUAL "htmlhelp") + set(_xsltproc_options + --stringparam htmlhelp.hhp ${_basename}.hhp + --stringparam htmlhelp.chm ${_basename}.chm + --stringparam htmlhelp.hhc ${_basename}-toc.hhc + --stringparam htmlhelp.hhk ${_basename}-index.hhk + --stringparam base.dir ${_basename} + ) + endif() if(EXISTS ${_sources}) if(XSLTPROC_EXECUTABLE) if(${_format} STREQUAL "pdf") add_custom_command( OUTPUT ${_outfile} - COMMAND ${XSLTPROC_EXECUTABLE} -o ${_outfile}.fo ${STYLESHEET} ${_infile} + COMMAND ${XSLTPROC_EXECUTABLE} -o ${_outfile}.fo ${_xmlto_options} ${STYLESHEET} ${_infile} COMMAND ${FOP_EXECUTABLE} ${_outfile}.fo ${_outfile} DEPENDS ${_infile} ${STYLESHEET} ${_deps} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} @@ -95,7 +109,7 @@ macro(DOCBOOK_GENERATE _sources _format) else() add_custom_command( OUTPUT ${_outfile} - COMMAND ${XSLTPROC_EXECUTABLE} -o ${_outfile} ${STYLESHEET} ${_infile} + COMMAND ${XSLTPROC_EXECUTABLE} -o ${_outfile} ${_xsltproc_options} ${STYLESHEET} ${_infile} DEPENDS ${_infile} ${STYLESHEET} ${_deps} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) |