diff options
author | Julian Andres Klode <jak@debian.org> | 2016-08-21 20:37:14 +0200 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2016-08-23 17:52:41 +0200 |
commit | 9fb81c6e54a2fe05c0ad0b877fd32f30358e3877 (patch) | |
tree | 8f3fd830f500b9103dfea2c63a044c5602ce9f70 | |
parent | d651c4cd71a43c385c3d3bcd3a9f25bf0a67f8f2 (diff) |
CMake: Discover docbook stylesheet in other locations
Distributions seem to install this stuff all over the place, so
let's add a common list of paths we know about.
-rw-r--r-- | CMake/Documentation.cmake | 34 | ||||
-rw-r--r-- | doc/docbook-html-style.xsl.cmake.in (renamed from doc/docbook-html-style.xsl) | 2 | ||||
-rw-r--r-- | doc/docbook-text-style.xsl.cmake.in (renamed from doc/docbook-text-style.xsl) | 2 | ||||
-rw-r--r-- | doc/manpage-style.xsl.cmake.in (renamed from doc/manpage-style.xsl) | 2 |
4 files changed, 34 insertions, 6 deletions
diff --git a/CMake/Documentation.cmake b/CMake/Documentation.cmake index f679b82e1..f3bbfdc6b 100644 --- a/CMake/Documentation.cmake +++ b/CMake/Documentation.cmake @@ -24,6 +24,34 @@ # SOFTWARE. +find_path(DOCBOOK_XSL manpages/docbook.xsl + # Debian + /usr/share/xml/docbook/stylesheet/docbook-xsl + /usr/share/xml/docbook/stylesheet/nwalsh + # OpenSUSE + /usr/share/xml/docbook/stylesheet/nwalsh/current + # Arch + /usr/share/xml/docbook/xsl-stylesheets + # Fedora + /usr/share/sgml/docbook/xsl-stylesheets + # Fink + ${CMAKE_INSTALL_PREFIX}/share/xml/xsl/docbook-xsl + # FreeBSD + ${CMAKE_INSTALL_PREFIX}/share/xsl/docbook/ + NO_DEFAULT_PATH) + +if(NOT DOCBOOK_XSL) + message(FATAL_ERROR "Could not find docbook xsl") +endif() + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docbook-text-style.xsl.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/docbook-text-style.xsl) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docbook-html-style.xsl.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/docbook-html-style.xsl) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/manpage-style.xsl.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/manpage-style.xsl) + + # Split up a string of the form DOCUMENT[.DOCUMENT][.LANGUAGE][.SECTION].EXTENSION # # There might be up to two parts in the document name. The language must be @@ -123,7 +151,7 @@ function(xsltproc_one) else() set(manpage_output "${CMAKE_CURRENT_BINARY_DIR}/${document}.${section}") endif() - set(manpage_stylesheet "${CMAKE_CURRENT_SOURCE_DIR}/manpage-style.xsl") + set(manpage_stylesheet "${CMAKE_CURRENT_BINARY_DIR}/manpage-style.xsl") set(manpage_params) install(FILES ${manpage_output} @@ -137,7 +165,7 @@ function(xsltproc_one) set(html_output "${CMAKE_CURRENT_BINARY_DIR}/${document}.html") endif() set(html_params --stringparam base.dir ${html_output}) - set(html_stylesheet "${CMAKE_CURRENT_SOURCE_DIR}/docbook-html-style.xsl") + set(html_stylesheet "${CMAKE_CURRENT_BINARY_DIR}/docbook-html-style.xsl") install(DIRECTORY ${html_output} DESTINATION ${DOC_INSTALL} OPTIONAL) @@ -150,7 +178,7 @@ function(xsltproc_one) set(text_output "${CMAKE_CURRENT_BINARY_DIR}/${document}.text") endif() set(text_params --stringparam base.dir ${text_output}) - set(text_stylesheet "${CMAKE_CURRENT_SOURCE_DIR}/docbook-text-style.xsl") + set(text_stylesheet "${CMAKE_CURRENT_BINARY_DIR}/docbook-text-style.xsl") file(RELATIVE_PATH text_output_relative ${CMAKE_CURRENT_BINARY_DIR} ${text_output}) diff --git a/doc/docbook-html-style.xsl b/doc/docbook-html-style.xsl.cmake.in index e4af9f557..9216d8e6e 100644 --- a/doc/docbook-html-style.xsl +++ b/doc/docbook-html-style.xsl.cmake.in @@ -2,7 +2,7 @@ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!-- Import our base stylesheet --> - <xsl:import href="/usr/share/xml/docbook/stylesheet/docbook-xsl/xhtml-1_1/chunk.xsl" /> + <xsl:import href="@DOCBOOK_XSL@/xhtml-1_1/chunk.xsl" /> <!-- Since we use xsltproc (not saxon), add a workaround to ensure UTF-8 --> <xsl:template xmlns="http://www.w3.org/1999/xhtml" name="head.content.generator"> diff --git a/doc/docbook-text-style.xsl b/doc/docbook-text-style.xsl.cmake.in index 376dded52..36af1bcb2 100644 --- a/doc/docbook-text-style.xsl +++ b/doc/docbook-text-style.xsl.cmake.in @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - <xsl:import href="/usr/share/xml/docbook/stylesheet/docbook-xsl/xhtml-1_1/docbook.xsl" /> + <xsl:import href="@DOCBOOK_XSL@/xhtml-1_1/docbook.xsl" /> <!-- Parameters for optimal text output. --> <xsl:param name="callout.graphics" select="0"/> diff --git a/doc/manpage-style.xsl b/doc/manpage-style.xsl.cmake.in index a780bad13..53d6780cb 100644 --- a/doc/manpage-style.xsl +++ b/doc/manpage-style.xsl.cmake.in @@ -2,7 +2,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> -<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl" /> +<xsl:import href="@DOCBOOK_XSL@/manpages/docbook.xsl" /> <xsl:param name="man.output.encoding" select="'UTF-8'" /> |