Merge branch 'master' into blender2.8
[blender.git] / build_files / cmake / Modules / FindXML2.cmake
1 # - Find XML2 library
2 # Find the native XML2 includes and library
3 # This module defines
4 #  XML2_INCLUDE_DIRS, where to find xml2.h, Set when
5 #                     XML2_INCLUDE_DIR is found.
6 #  XML2_LIBRARIES, libraries to link against to use XML2.
7 #  XML2_ROOT_DIR, The base directory to search for XML2.
8 #                 This can also be an environment variable.
9 #  XML2_FOUND, If false, do not try to use XML2.
10 #
11 # also defined, but not for general use are
12 #  XML2_LIBRARY, where to find the XML2 library.
13
14 #=============================================================================
15 # Copyright 2011 Blender Foundation.
16 #
17 # Distributed under the OSI-approved BSD License (the "License");
18 # see accompanying file Copyright.txt for details.
19 #
20 # This software is distributed WITHOUT ANY WARRANTY; without even the
21 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
22 # See the License for more information.
23 #=============================================================================
24
25 # If XML2_ROOT_DIR was defined in the environment, use it.
26 IF(NOT XML2_ROOT_DIR AND NOT $ENV{XML2_ROOT_DIR} STREQUAL "")
27   SET(XML2_ROOT_DIR $ENV{XML2_ROOT_DIR})
28 ENDIF()
29
30 SET(_xml2_SEARCH_DIRS
31   ${XML2_ROOT_DIR}
32   /usr/local
33   /sw # Fink
34   /opt/local # DarwinPorts
35 )
36
37 FIND_PATH(XML2_INCLUDE_DIR libxml2/libxml/xpath.h
38   HINTS
39     ${_xml2_SEARCH_DIRS}
40   PATH_SUFFIXES
41     include
42 )
43
44 FIND_LIBRARY(XML2_LIBRARY
45   NAMES
46     xml2
47   HINTS
48     ${_xml2_SEARCH_DIRS}
49   PATH_SUFFIXES
50     lib64 lib
51   )
52
53 # handle the QUIETLY and REQUIRED arguments and set XML2_FOUND to TRUE if
54 # all listed variables are TRUE
55 INCLUDE(FindPackageHandleStandardArgs)
56 FIND_PACKAGE_HANDLE_STANDARD_ARGS(XML2 DEFAULT_MSG
57     XML2_LIBRARY XML2_INCLUDE_DIR)
58
59 IF(XML2_FOUND)
60   SET(XML2_LIBRARIES ${XML2_LIBRARY})
61   SET(XML2_INCLUDE_DIRS ${XML2_INCLUDE_DIR})
62 ENDIF(XML2_FOUND)
63
64 MARK_AS_ADVANCED(
65   XML2_INCLUDE_DIR
66   XML2_LIBRARY
67 )