diff options
author | Aleix Pol <aleixpol@kde.org> | 2013-09-04 16:45:14 +0200 |
---|---|---|
committer | Aleix Pol <aleixpol@kde.org> | 2013-09-04 16:45:14 +0200 |
commit | d42d5889d25ac4c900a294f283dd802eccf96010 (patch) | |
tree | 385f56c3538bc47f9dfafa2e03d73a7583bd04a2 /find-modules | |
parent | 783518d43936e4acfcf71535abc79e54092c7184 (diff) | |
download | extra-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.cmake | 59 | ||||
-rw-r--r-- | find-modules/FindDocBookXSL.cmake | 56 |
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) |