From a087c957d6e0e31ca745670d6c22146315e470c8 Mon Sep 17 00:00:00 2001 From: Luigi Toscano Date: Mon, 10 May 2010 21:21:02 +0000 Subject: New dependencies: DocBook XML, DocBook XSL. Approved on kde-core-devel and kde-buildsystem. This is the first step to remove the embedded (outdated) copies of DocBook XML DTDs and DocBook XSL stylesheet from kdelibs/kdoctools. svn path=/trunk/KDE/kdelibs/; revision=1125172 --- modules/FindDocBookXML.cmake | 47 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 modules/FindDocBookXML.cmake (limited to 'modules/FindDocBookXML.cmake') diff --git a/modules/FindDocBookXML.cmake b/modules/FindDocBookXML.cmake new file mode 100644 index 00000000..df01115f --- /dev/null +++ b/modules/FindDocBookXML.cmake @@ -0,0 +1,47 @@ +# 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 +# DOCBOOKXML_CURRENTDTD_VERSION - if defined, the version of previously used +# DocBook XML DTD +# DOCBOOKXML_OLDDTD_DIR - if defined and different from +# DOCBOOKXML_CURRENTDTD_DIR, the directory containing the definition of +# previously used DocBook XML version +# +# Copyright (c) 2010, Luigi Toscano, +# +# 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") +find_path (DOCBOOKXML_CURRENTDTD_DIR catalog.xml + PATHS ${CMAKE_SYSTEM_PREFIX_PATH} + + PATH_SUFFIXES + 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} +) + +#set (DOCBOOKXML_OLDDTD_DIR ${DOCBOOKXML_CURRENTDTD_DIR}) +#set (DOCBOOKXML_OLDDTD_VERSION "4.1.2") +#find_path (DOCBOOKXML_OLDDTD_DIR catalog.xml +# PATHS ${CMAKE_SYSTEM_PREFIX_PATH} +# PATH_SUFFIXES +# share/xml/docbook/schema/dtd/${DOCBOOKXML_OLDDTD_VERSION} +# share/xml/docbook/xml-dtd-${DOCBOOKXML_OLDDTD_VERSION} +# share/sgml/docbook/xml-dtd-${DOCBOOKXML_OLDDTD_VERSION} +# share/xml/docbook/${DOCBOOKXML_OLDDTD_VERSION} +#) + +find_package_handle_standard_args (DocBookXML + "Could NOT find DocBook XML DTDs (v${DOCBOOKXML_CURRENTDTD_VERSION})" + DOCBOOKXML_CURRENTDTD_VERSION DOCBOOKXML_CURRENTDTD_DIR) + +mark_as_advanced (DOCBOOKXML_CURRENTDTD_DIR DOCBOOKXML_CURRENTDTD_VERSION) -- cgit v1.2.1 From 7376338204f2c4f9edcfe46b07cb78590528128f Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Tue, 11 May 2010 14:38:39 +0000 Subject: Super-duper-hackarific for supporting Fedora12 and Fedora13. Older Fedoras will need to be added as required. Rex is talking to Fedora about this. CCMAIL: kde-buildsystem@kde.org svn path=/trunk/KDE/kdelibs/; revision=1125486 --- modules/FindDocBookXML.cmake | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'modules/FindDocBookXML.cmake') diff --git a/modules/FindDocBookXML.cmake b/modules/FindDocBookXML.cmake index df01115f..c337e43a 100644 --- a/modules/FindDocBookXML.cmake +++ b/modules/FindDocBookXML.cmake @@ -29,6 +29,16 @@ find_path (DOCBOOKXML_CURRENTDTD_DIR catalog.xml share/xml/docbook/${DOCBOOKXML_CURRENTDTD_VERSION} ) +#hacks for Fedora +if(NOT ${DOCBOOKXML_CURRENTDTD_DIR}) +find_path(DOCBOOKXML_CURRENTDTD_DIR catalog + PATHS ${CMAKE_SYSTEM_PREFIX_PATH} + PATH_SUFFIXES + share/sgml/docbook/xml-dtd-4.2-1.0-48.fc12 + share/sgml/docbook/xml-dtd-4.2-1.0-50.fc13 +) +endif(NOT ${DOCBOOKXML_CURRENTDTD_DIR}) + #set (DOCBOOKXML_OLDDTD_DIR ${DOCBOOKXML_CURRENTDTD_DIR}) #set (DOCBOOKXML_OLDDTD_VERSION "4.1.2") #find_path (DOCBOOKXML_OLDDTD_DIR catalog.xml -- cgit v1.2.1 From 121693506b0439e408a9b9e9fa3a16abc5ccff65 Mon Sep 17 00:00:00 2001 From: Luigi Toscano Date: Wed, 12 May 2010 23:56:16 +0000 Subject: Make it working even with splitted catalogs And also, more compact code svn path=/trunk/KDE/kdelibs/; revision=1126024 --- modules/FindDocBookXML.cmake | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'modules/FindDocBookXML.cmake') diff --git a/modules/FindDocBookXML.cmake b/modules/FindDocBookXML.cmake index c337e43a..3ed4a1d8 100644 --- a/modules/FindDocBookXML.cmake +++ b/modules/FindDocBookXML.cmake @@ -17,12 +17,10 @@ # 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" +set (DOCBOOKXML_CURRENTDTD_VERSION "4.2" CACHE INTERNAL "Required version of XML DTDs") -find_path (DOCBOOKXML_CURRENTDTD_DIR catalog.xml - PATHS ${CMAKE_SYSTEM_PREFIX_PATH} - PATH_SUFFIXES +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} @@ -30,25 +28,29 @@ find_path (DOCBOOKXML_CURRENTDTD_DIR catalog.xml ) #hacks for Fedora -if(NOT ${DOCBOOKXML_CURRENTDTD_DIR}) -find_path(DOCBOOKXML_CURRENTDTD_DIR catalog - PATHS ${CMAKE_SYSTEM_PREFIX_PATH} - PATH_SUFFIXES +set (DTD_PATH_LIST ${DTD_PATH_LIST} share/sgml/docbook/xml-dtd-4.2-1.0-48.fc12 share/sgml/docbook/xml-dtd-4.2-1.0-50.fc13 ) -endif(NOT ${DOCBOOKXML_CURRENTDTD_DIR}) + +find_path (DOCBOOKXML_CURRENTDTD_DIR docbookx.dtd + PATHS ${CMAKE_SYSTEM_PREFIX_PATH} + + PATH_SUFFIXES ${DTD_PATH_LIST} +) #set (DOCBOOKXML_OLDDTD_DIR ${DOCBOOKXML_CURRENTDTD_DIR}) #set (DOCBOOKXML_OLDDTD_VERSION "4.1.2") -#find_path (DOCBOOKXML_OLDDTD_DIR catalog.xml -# PATHS ${CMAKE_SYSTEM_PREFIX_PATH} -# PATH_SUFFIXES +#set (DTD_PATH_LIST) # share/xml/docbook/schema/dtd/${DOCBOOKXML_OLDDTD_VERSION} # share/xml/docbook/xml-dtd-${DOCBOOKXML_OLDDTD_VERSION} # share/sgml/docbook/xml-dtd-${DOCBOOKXML_OLDDTD_VERSION} # share/xml/docbook/${DOCBOOKXML_OLDDTD_VERSION} #) +#find_path (DOCBOOKXML_OLDDTD_DIR docbookx.dtd +# PATHS ${CMAKE_SYSTEM_PREFIX_PATH} +# PATH_SUFFIXES ${DTD_PATH_LIST} +#) find_package_handle_standard_args (DocBookXML "Could NOT find DocBook XML DTDs (v${DOCBOOKXML_CURRENTDTD_VERSION})" -- cgit v1.2.1 From e6741ce784dab86d89fcca4b4ec8184ba6721d25 Mon Sep 17 00:00:00 2001 From: Matthew Woehlke Date: Thu, 13 May 2010 01:49:25 +0000 Subject: Find docbook better when the package version is part of the DTD path. This is (somewhat) less hackish than the previous approach and is reportedly needed for OpenSolaris. It should work on all Fedora versions past and future that use the same convention (and have the required DTD version, of course) and for anything else with similar conventions. svn path=/trunk/KDE/kdelibs/; revision=1126043 --- modules/FindDocBookXML.cmake | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'modules/FindDocBookXML.cmake') diff --git a/modules/FindDocBookXML.cmake b/modules/FindDocBookXML.cmake index 3ed4a1d8..ec3c0d64 100644 --- a/modules/FindDocBookXML.cmake +++ b/modules/FindDocBookXML.cmake @@ -27,15 +27,19 @@ set (DTD_PATH_LIST share/xml/docbook/${DOCBOOKXML_CURRENTDTD_VERSION} ) -#hacks for Fedora -set (DTD_PATH_LIST ${DTD_PATH_LIST} - share/sgml/docbook/xml-dtd-4.2-1.0-48.fc12 - share/sgml/docbook/xml-dtd-4.2-1.0-50.fc13 -) - +# hacks for systems that use the package version in the DTD dirs, +# e.g. Fedora, OpenSolaris +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} ) -- cgit v1.2.1 From 550897d01e2b6059ff79cea98d9b3ed44f064d83 Mon Sep 17 00:00:00 2001 From: Luigi Toscano Date: Tue, 18 May 2010 22:28:23 +0000 Subject: Add missing include(FindPackageHandleStandardArgs) svn path=/trunk/KDE/kdelibs/; revision=1128313 --- modules/FindDocBookXML.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'modules/FindDocBookXML.cmake') diff --git a/modules/FindDocBookXML.cmake b/modules/FindDocBookXML.cmake index ec3c0d64..51001877 100644 --- a/modules/FindDocBookXML.cmake +++ b/modules/FindDocBookXML.cmake @@ -56,6 +56,7 @@ find_path (DOCBOOKXML_CURRENTDTD_DIR docbookx.dtd # PATH_SUFFIXES ${DTD_PATH_LIST} #) +include(FindPackageHandleStandardArgs) find_package_handle_standard_args (DocBookXML "Could NOT find DocBook XML DTDs (v${DOCBOOKXML_CURRENTDTD_VERSION})" DOCBOOKXML_CURRENTDTD_VERSION DOCBOOKXML_CURRENTDTD_DIR) -- cgit v1.2.1 From 95be475812349e24080db442bc908bacf6e8f5df Mon Sep 17 00:00:00 2001 From: Luigi Toscano Date: Tue, 18 May 2010 23:04:45 +0000 Subject: Look for paths with encoded version only if needed svn path=/trunk/KDE/kdelibs/; revision=1128329 --- modules/FindDocBookXML.cmake | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'modules/FindDocBookXML.cmake') diff --git a/modules/FindDocBookXML.cmake b/modules/FindDocBookXML.cmake index 51001877..b28f5b1a 100644 --- a/modules/FindDocBookXML.cmake +++ b/modules/FindDocBookXML.cmake @@ -27,22 +27,30 @@ set (DTD_PATH_LIST share/xml/docbook/${DOCBOOKXML_CURRENTDTD_VERSION} ) -# hacks for systems that use the package version in the DTD dirs, -# e.g. Fedora, OpenSolaris -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} ) +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 (NOT DOCBOOKXML_CURRENTDTD_DIR) + #set (DOCBOOKXML_OLDDTD_DIR ${DOCBOOKXML_CURRENTDTD_DIR}) #set (DOCBOOKXML_OLDDTD_VERSION "4.1.2") #set (DTD_PATH_LIST) -- cgit v1.2.1 From 9f0d33ae4e9b10466e689d2bc883eff2dfb317b4 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Wed, 26 May 2010 17:04:30 +0000 Subject: -remove duplicated documentation for DOCBOOKXML_CURRENTDTD_VERSION -remove docs for not existing DOCBOOKXML_OLDDTD_DIR variable -use DOCBOOKXML_CURRENTDTD_DIR as first variable argument for find_package_handle_standard_args(), so the status message tells us where it has been found Alex CCMAIL: svn path=/trunk/KDE/kdelibs/; revision=1130875 --- modules/FindDocBookXML.cmake | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'modules/FindDocBookXML.cmake') diff --git a/modules/FindDocBookXML.cmake b/modules/FindDocBookXML.cmake index b28f5b1a..26053bfd 100644 --- a/modules/FindDocBookXML.cmake +++ b/modules/FindDocBookXML.cmake @@ -6,12 +6,7 @@ # DTD # DOCBOOKXML_CURRENTDTD_DIR - the directory containing the definition of # the currently used DocBook XML version -# DOCBOOKXML_CURRENTDTD_VERSION - if defined, the version of previously used -# DocBook XML DTD -# DOCBOOKXML_OLDDTD_DIR - if defined and different from -# DOCBOOKXML_CURRENTDTD_DIR, the directory containing the definition of -# previously used DocBook XML version -# + # Copyright (c) 2010, Luigi Toscano, # # Redistribution and use is allowed according to the terms of the BSD license. @@ -67,6 +62,6 @@ endif (NOT DOCBOOKXML_CURRENTDTD_DIR) include(FindPackageHandleStandardArgs) find_package_handle_standard_args (DocBookXML "Could NOT find DocBook XML DTDs (v${DOCBOOKXML_CURRENTDTD_VERSION})" - DOCBOOKXML_CURRENTDTD_VERSION DOCBOOKXML_CURRENTDTD_DIR) + DOCBOOKXML_CURRENTDTD_DIR DOCBOOKXML_CURRENTDTD_VERSION) mark_as_advanced (DOCBOOKXML_CURRENTDTD_DIR DOCBOOKXML_CURRENTDTD_VERSION) -- cgit v1.2.1