aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/modules/FindXMLLINT.cmake
diff options
context:
space:
mode:
authorJörg Mayer <jmayer@loplof.de>2009-12-29 12:12:26 +0000
committerJörg Mayer <jmayer@loplof.de>2009-12-29 12:12:26 +0000
commit9a69a7934e3c7e404d09cb18ae1c8a14637d9b5d (patch)
treed6efe47a35ca8e4cf1be8ea0e61aae325dc29534 /cmake/modules/FindXMLLINT.cmake
parentd0cd08b6798bde869fcb435a4ad70267cfb048c0 (diff)
- Beginnings of cmake in docbook directory
- Add note about "make help" - Move beginnings of packaging into its own file: CPackConfig.txt svn path=/trunk/; revision=31379
Diffstat (limited to 'cmake/modules/FindXMLLINT.cmake')
-rw-r--r--cmake/modules/FindXMLLINT.cmake48
1 files changed, 48 insertions, 0 deletions
diff --git a/cmake/modules/FindXMLLINT.cmake b/cmake/modules/FindXMLLINT.cmake
new file mode 100644
index 0000000000..f5ac6459e2
--- /dev/null
+++ b/cmake/modules/FindXMLLINT.cmake
@@ -0,0 +1,48 @@
+#
+# $Id$
+#
+# - Find unix commands from cygwin
+# This module looks for some usual Unix commands.
+#
+
+INCLUDE(FindCygwin)
+
+FIND_PROGRAM(XMLLINT_EXECUTABLE
+ NAMES
+ xmllint
+ PATHS
+ ${CYGWIN_INSTALL_PATH}/bin
+ /bin
+ /usr/bin
+ /usr/local/bin
+ /sbin
+)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(XMLLINT DEFAULT_MSG XMLLINT_EXECUTABLE)
+
+MARK_AS_ADVANCED(XMLLINT_EXECUTABLE)
+
+# Validate XML
+MACRO(VALIDATE_XML _validated _sources)
+ message(STATUS "Source(s): ${${_sources}}")
+ # FIXME: How do I extract the first element of a variable containing a
+ # list of values? Isn't there a "cleaner" solution?
+ FOREACH(_source ${${_sources}})
+ BREAK()
+ ENDFOREACH()
+ ADD_CUSTOM_COMMAND(
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR}/${_validated}
+ COMMAND ${XMLLINT_EXECUTABLE}
+ --valid
+ --noout
+ --path "${CMAKE_CURRENT_BINARY_DIR}:${CMAKE_CURRENT_SOURCE_DIR}"
+ ${_source}
+ COMMAND touch
+ ${CMAKE_CURRENT_BINARY_DIR}/${_validated}
+ DEPENDS
+ ${_source}
+ svn_version.xml
+ )
+ENDMACRO(VALIDATE_XML)