aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/FindDocBookXML.cmake30
-rw-r--r--modules/FindDocBookXSL.cmake28
2 files changed, 38 insertions, 20 deletions
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)
diff --git a/modules/FindDocBookXSL.cmake b/modules/FindDocBookXSL.cmake
index c84f2888..7c1f3ff3 100644
--- a/modules/FindDocBookXSL.cmake
+++ b/modules/FindDocBookXSL.cmake
@@ -16,20 +16,30 @@ set (STYLESHEET_PATH_LIST
share/xml/docbook/stylesheet/nwalsh/current
)
-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}
)
+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 (NOT DOCBOOKXSL_DIR)
+
+
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (DocBookXSL
"Could NOT find DocBook XSL stylesheets"