aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/FindDocBookXML.cmake18
1 files changed, 11 insertions, 7 deletions
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}
)