summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2016-08-21 20:37:14 +0200
committerJulian Andres Klode <jak@debian.org>2016-08-23 17:52:41 +0200
commit9fb81c6e54a2fe05c0ad0b877fd32f30358e3877 (patch)
tree8f3fd830f500b9103dfea2c63a044c5602ce9f70
parentd651c4cd71a43c385c3d3bcd3a9f25bf0a67f8f2 (diff)
downloadapt-9fb81c6e54a2fe05c0ad0b877fd32f30358e3877.tar.gz
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.cmake34
-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'" />