Resync
[CMakeLuaTailorHgBridge.git] / CMakeLua / Modules / FindLibXml2.cmake
blobc5efc721b00e847174995c537bfcbc2760583d88
1 # - Try to find LibXml2
2 # Once done this will define
4 #  LIBXML2_FOUND - System has LibXml2
5 #  LIBXML2_INCLUDE_DIR - The LibXml2 include directory
6 #  LIBXML2_LIBRARIES - The libraries needed to use LibXml2
7 #  LIBXML2_DEFINITIONS - Compiler switches required for using LibXml2
8 #  LIBXML2_XMLLINT_EXECUTABLE - The XML checking tool xmllint coming with LibXml2
10 # Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
12 # Redistribution and use is allowed according to the terms of the BSD license.
13 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
16 IF (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES)
17    # in cache already
18    SET(LibXml2_FIND_QUIETLY TRUE)
19 ENDIF (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES)
21 IF (NOT WIN32)
22    # use pkg-config to get the directories and then use these values
23    # in the FIND_PATH() and FIND_LIBRARY() calls
24    FIND_PACKAGE(PkgConfig)
25    PKG_CHECK_MODULES(PC_LIBXML libxml-2.0)
26    SET(LIBXML2_DEFINITIONS ${PC_LIBXML_CFLAGS_OTHER})
27 ENDIF (NOT WIN32)
29 FIND_PATH(LIBXML2_INCLUDE_DIR libxml/xpath.h
30    HINTS
31    ${PC_LIBXML_INCLUDEDIR}
32    ${PC_LIBXML_INCLUDE_DIRS}
33    PATH_SUFFIXES libxml2
34    )
36 FIND_LIBRARY(LIBXML2_LIBRARIES NAMES xml2 libxml2
37    HINTS
38    ${PC_LIBXML_LIBDIR}
39    ${PC_LIBXML_LIBRARY_DIRS}
40    )
42 FIND_PROGRAM(LIBXML2_XMLLINT_EXECUTABLE xmllint)
43 # for backwards compat. with KDE 4.0.x:
44 SET(XMLLINT_EXECUTABLE "${LIBXML2_XMLLINT_EXECUTABLE}")
46 INCLUDE(FindPackageHandleStandardArgs)
48 # handle the QUIETLY and REQUIRED arguments and set LIBXML2_FOUND to TRUE if 
49 # all listed variables are TRUE
50 FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
52 MARK_AS_ADVANCED(LIBXML2_INCLUDE_DIR LIBXML2_LIBRARIES LIBXML2_XMLLINT_EXECUTABLE)