diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-09-08 07:57:11 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-09-08 07:57:11 +0400 |
commit | c61827ed255432637a335dcff12745c156f619fb (patch) | |
tree | 90adee58b129f0c4e5d81289d130a7a4b1eb10f7 /build_files/cmake/Modules/FindXML2.cmake | |
parent | 5a900be4d685b9b038327e49c4c5da948e1ba2ad (diff) |
patch from Uncle_Entity on IRC for fedora/collada
Diffstat (limited to 'build_files/cmake/Modules/FindXML2.cmake')
-rw-r--r-- | build_files/cmake/Modules/FindXML2.cmake | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/build_files/cmake/Modules/FindXML2.cmake b/build_files/cmake/Modules/FindXML2.cmake new file mode 100644 index 00000000000..e9f9fb3ca74 --- /dev/null +++ b/build_files/cmake/Modules/FindXML2.cmake @@ -0,0 +1,88 @@ +# - Try to find XML2 +# Once done this will define +# +# XML2_FOUND - system has XML2 +# XML2_INCLUDE_DIRS - the XML2 include directory +# XML2_LIBRARIES - Link these to use XML2 +# XML2_DEFINITIONS - Compiler switches required for using XML2 +# +# Copyright (c) 2008 Andreas Schneider <mail@cynapses.org> +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# + + +if (XML2_LIBRARIES AND XML2_INCLUDE_DIRS) + # in cache already + set(XML2_FOUND TRUE) +else (XML2_LIBRARIES AND XML2_INCLUDE_DIRS) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + include(UsePkgConfig) + pkgconfig(libxml-2.0 _XML2_INCLUDEDIR _XML2_LIBDIR _XML2_LDFLAGS _XML2_CFLAGS) + else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) + pkg_check_modules(_XML2 libxml-2.0) + endif (PKG_CONFIG_FOUND) + endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) + find_path(XML2_INCLUDE_DIR + NAMES + libxml/xpath.h + PATHS + ${_XML2_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + PATH_SUFFIXES + libxml2 + ) + + find_library(XML2_LIBRARY + NAMES + xml2 + PATHS + ${_XML2_LIBDIR} + /usr/lib + /usr/local/lib + /opt/local/lib + /sw/lib + ) + + if (XML2_LIBRARY) + set(XML2_FOUND TRUE) + endif (XML2_LIBRARY) + + set(XML2_INCLUDE_DIRS + ${XML2_INCLUDE_DIR} + ) + + if (XML2_FOUND) + set(XML2_LIBRARIES + ${XML2_LIBRARIES} + ${XML2_LIBRARY} + ) + endif (XML2_FOUND) + + if (XML2_INCLUDE_DIRS AND XML2_LIBRARIES) + set(XML2_FOUND TRUE) + endif (XML2_INCLUDE_DIRS AND XML2_LIBRARIES) + + if (XML2_FOUND) + if (NOT XML2_FIND_QUIETLY) + message(STATUS "Found XML2: ${XML2_LIBRARIES}") + endif (NOT XML2_FIND_QUIETLY) + else (XML2_FOUND) + if (XML2_FIND_REQUIRED) + message(FATAL_ERROR "Could not find XML2") + endif (XML2_FIND_REQUIRED) + endif (XML2_FOUND) + + # show the XML2_INCLUDE_DIRS and XML2_LIBRARIES variables only in the advanced view + mark_as_advanced(XML2_INCLUDE_DIRS XML2_LIBRARIES) + +endif (XML2_LIBRARIES AND XML2_INCLUDE_DIRS) + |