Moar cmake stuff.
[sdlpango.git] / cmake / FindLibXML++.cmake
blob3eaa0d9772aab79ec96f5fd79e7262160efdeaf8
1 # - Try to find LibXML++ 2.6
2 # Once done, this will define
4 #  LibXML++_FOUND - system has LibXML++
5 #  LibXML++_INCLUDE_DIRS - the LibXML++ include directories
6 #  LibXML++_LIBRARIES - link these to use LibXML++
8 include(LibFindMacros)
10 # Dependencies
11 libfind_package(LibXML++ LibXML2)
12 libfind_package(LibXML++ Glibmm)
14 # Use pkg-config to get hints about paths
15 libfind_pkg_check_modules(LibXML++_PKGCONF libxml++-2.6)
17 # Main include dir
18 find_path(LibXML++_INCLUDE_DIR
19   NAMES libxml++/libxml++.h
20   PATHS ${LibXML++_PKGCONF_INCLUDE_DIRS}
21   PATH_SUFFIXES libxml++-2.6
24 # Glib-related libraries also use a separate config header, which is in lib dir
25 find_path(LibXML++Config_INCLUDE_DIR
26   NAMES libxml++config.h
27   PATHS ${LibXML++_PKGCONF_INCLUDE_DIRS} /usr
28   PATH_SUFFIXES lib/libxml++-2.6/include
31 # Finally the library itself
32 find_library(LibXML++_LIBRARY
33   NAMES xml++-2.6
34   PATHS ${LibXML++_PKGCONF_LIBRARY_DIRS}
37 # Set the include dir variables and the libraries and let libfind_process do the rest.
38 # NOTE: Singular variables for this library, plural for libraries this this lib depends on.
39 set(LibXML++_PROCESS_INCLUDES LibXML++_INCLUDE_DIR LibXML++Config_INCLUDE_DIR LibXML2_INCLUDE_DIRS Glibmm_INCLUDE_DIRS)
40 set(LibXML++_PROCESS_LIBS LibXML++_LIBRARY LibXML2_LIBRARIES Glibmm_LIBRARIES)
41 libfind_process(LibXML++)