From 9fb81c6e54a2fe05c0ad0b877fd32f30358e3877 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sun, 21 Aug 2016 20:37:14 +0200 Subject: [PATCH] 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. --- CMake/Documentation.cmake | 34 +++++++++++++++++-- ...le.xsl => docbook-html-style.xsl.cmake.in} | 2 +- ...le.xsl => docbook-text-style.xsl.cmake.in} | 2 +- ...e-style.xsl => manpage-style.xsl.cmake.in} | 2 +- 4 files changed, 34 insertions(+), 6 deletions(-) rename doc/{docbook-html-style.xsl => docbook-html-style.xsl.cmake.in} (94%) rename doc/{docbook-text-style.xsl => docbook-text-style.xsl.cmake.in} (95%) rename doc/{manpage-style.xsl => manpage-style.xsl.cmake.in} (84%) 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 similarity index 94% rename from doc/docbook-html-style.xsl rename to 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 @@ - + diff --git a/doc/docbook-text-style.xsl b/doc/docbook-text-style.xsl.cmake.in similarity index 95% rename from doc/docbook-text-style.xsl rename to 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 @@ - + diff --git a/doc/manpage-style.xsl b/doc/manpage-style.xsl.cmake.in similarity index 84% rename from doc/manpage-style.xsl rename to 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"> - + -- 2.45.2