aboutsummaryrefslogtreecommitdiff
path: root/find-modules
diff options
context:
space:
mode:
authorAleix Pol <aleixpol@kde.org>2013-09-04 16:45:14 +0200
committerAleix Pol <aleixpol@kde.org>2013-09-04 16:45:14 +0200
commitd42d5889d25ac4c900a294f283dd802eccf96010 (patch)
tree385f56c3538bc47f9dfafa2e03d73a7583bd04a2 /find-modules
parent783518d43936e4acfcf71535abc79e54092c7184 (diff)
downloadextra-cmake-modules-d42d5889d25ac4c900a294f283dd802eccf96010.tar.gz
extra-cmake-modules-d42d5889d25ac4c900a294f283dd802eccf96010.tar.bz2
Move FindDocBook* to find-modules
REVIEW: 112451
Diffstat (limited to 'find-modules')
-rw-r--r--find-modules/FindDocBookXML.cmake59
-rw-r--r--find-modules/FindDocBookXSL.cmake56
2 files changed, 115 insertions, 0 deletions
diff --git a/find-modules/FindDocBookXML.cmake b/find-modules/FindDocBookXML.cmake
new file mode 100644
index 00000000..b59d209e
--- /dev/null
+++ b/find-modules/FindDocBookXML.cmake
@@ -0,0 +1,59 @@
+# Try to find DocBook XML DTDs
+# Once done, it will define:
+#
+# DocBookXML_FOUND - system has the required DocBook XML DTDs
+# DocBookXML_CURRENTDTD_VERSION - the version of currently used DocBook XML
+# DTD
+# DocBookXML_CURRENTDTD_DIR - the directory containing the definition of
+# the currently used DocBook XML version
+
+# Copyright (c) 2010, Luigi Toscano, <luigi.toscano@tiscali.it>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+set (DocBookXML_CURRENTDTD_VERSION "4.2"
+ CACHE INTERNAL "Required version of XML DTDs")
+
+set (DTD_PATH_LIST
+ share/xml/docbook/schema/dtd/${DocBookXML_CURRENTDTD_VERSION}
+ share/xml/docbook/xml-dtd-${DocBookXML_CURRENTDTD_VERSION}
+ share/sgml/docbook/xml-dtd-${DocBookXML_CURRENTDTD_VERSION}
+ share/xml/docbook/${DocBookXML_CURRENTDTD_VERSION}
+)
+
+find_path (DocBookXML_CURRENTDTD_DIR docbookx.dtd
+ PATHS ${CMAKE_SYSTEM_PREFIX_PATH}
+ PATH_SUFFIXES ${DTD_PATH_LIST}
+)
+
+if (NOT DocBookXML_CURRENTDTD_DIR)
+ # hacks for systems that use the package version in the DTD dirs,
+ # e.g. Fedora, OpenSolaris
+ set (DTD_PATH_LIST)
+ foreach (DTD_PREFIX_ITER ${CMAKE_SYSTEM_PREFIX_PATH})
+ file(GLOB DTD_SUFFIX_ITER RELATIVE ${DTD_PREFIX_ITER}
+ ${DTD_PREFIX_ITER}/share/sgml/docbook/xml-dtd-${DocBookXML_CURRENTDTD_VERSION}-*
+ )
+ if (DTD_SUFFIX_ITER)
+ list (APPEND DTD_PATH_LIST ${DTD_SUFFIX_ITER})
+ endif ()
+ endforeach ()
+
+ find_path (DocBookXML_CURRENTDTD_DIR docbookx.dtd
+ PATHS ${CMAKE_SYSTEM_PREFIX_PATH}
+ PATH_SUFFIXES ${DTD_PATH_LIST}
+ )
+endif ()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args (DocBookXML
+ "Could NOT find DocBook XML DTDs (v${DocBookXML_CURRENTDTD_VERSION})"
+ DocBookXML_CURRENTDTD_DIR DocBookXML_CURRENTDTD_VERSION)
+
+#maintain backwards compatibility
+set(DOCBOOKXML_FOUND ${DocBookXML_FOUND})
+set(DOCBOOKXML_CURRENTDTD_DIR ${DocBookXML_CURRENTDTD_DIR})
+set(DOCBOOKXML_CURRENTDTD_VERSION ${DocBookXML_CURRENTDTD_VERSION})
+
+mark_as_advanced (DocBookXML_CURRENTDTD_DIR DocBookXML_CURRENTDTD_VERSION)
diff --git a/find-modules/FindDocBookXSL.cmake b/find-modules/FindDocBookXSL.cmake
new file mode 100644
index 00000000..ffe90ca3
--- /dev/null
+++ b/find-modules/FindDocBookXSL.cmake
@@ -0,0 +1,56 @@
+# Try to find DocBook XSL stylesheet
+# Once done, it will define:
+#
+# DocBookXSL_FOUND - system has the required DocBook XML DTDs
+# DocBookXSL_DIR - the directory containing the stylesheets
+# used to process DocBook XML
+
+# Copyright (c) 2010, Luigi Toscano, <luigi.toscano@tiscali.it>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+set (STYLESHEET_PATH_LIST
+ share/xml/docbook/stylesheet/docbook-xsl
+ share/xml/docbook/xsl-stylesheets
+ share/sgml/docbook/xsl-stylesheets
+ share/xml/docbook/stylesheet/nwalsh/current
+ share/xml/docbook/stylesheet/nwalsh
+ share/xsl/docbook
+ share/xsl/docbook-xsl
+)
+
+find_path (DocBookXSL_DIR lib/lib.xsl
+ PATHS ${CMAKE_SYSTEM_PREFIX_PATH}
+ PATH_SUFFIXES ${STYLESHEET_PATH_LIST}
+)
+
+if (NOT DocBookXSL_DIR)
+ # hacks for systems that put the version in the stylesheet dirs
+ set (STYLESHEET_PATH_LIST)
+ foreach (STYLESHEET_PREFIX_ITER ${CMAKE_SYSTEM_PREFIX_PATH})
+ file(GLOB STYLESHEET_SUFFIX_ITER RELATIVE ${STYLESHEET_PREFIX_ITER}
+ ${STYLESHEET_PREFIX_ITER}/share/xml/docbook/xsl-stylesheets-*
+ )
+ if (STYLESHEET_SUFFIX_ITER)
+ list (APPEND STYLESHEET_PATH_LIST ${STYLESHEET_SUFFIX_ITER})
+ endif ()
+ endforeach ()
+
+ find_path (DocBookXSL_DIR VERSION
+ PATHS ${CMAKE_SYSTEM_PREFIX_PATH}
+ PATH_SUFFIXES ${STYLESHEET_PATH_LIST}
+ )
+endif ()
+
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args (DocBookXSL
+ "Could NOT find DocBook XSL stylesheets"
+ DocBookXSL_DIR)
+
+#maintain backwards compatibility
+set(DOCBOOKXSL_FOUND ${DocBookXSL_FOUND})
+set(DOCBOOKXSL_DIR ${DocBookXSL_DIR})
+
+mark_as_advanced (DocBookXSL_DIR)