1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
# libxml2-config.cmake
# --------------------
#
# Libxml2 cmake module.
# This module sets the following variables:
#
# ::
#
# LIBXML2_INCLUDE_DIR - Directory where LibXml2 headers are located.
# LIBXML2_INCLUDE_DIRS - list of the include directories needed to use LibXml2.
# LIBXML2_LIBRARY - path to the LibXml2 library.
# LIBXML2_LIBRARIES - xml2 libraries to link against.
# LIBXML2_DEFINITIONS - the compiler switches required for using LibXml2.
# LIBXML2_VERSION_MAJOR - The major version of libxml2.
# LIBXML2_VERSION_MINOR - The minor version of libxml2.
# LIBXML2_VERSION_PATCH - The patch version of libxml2.
# LIBXML2_VERSION_STRING - version number as a string (ex: "2.3.4")
# LIBXML2_MODULES - whether libxml2 has dso support
# LIBXML2_XMLLINT_EXECUTABLE - path to the XML checking tool xmllint coming with LibXml2
include("${CMAKE_CURRENT_LIST_DIR}/libxml2-export.cmake")
@PACKAGE_INIT@
set(LIBXML2_VERSION_MAJOR @LIBXML_MAJOR_VERSION@)
set(LIBXML2_VERSION_MINOR @LIBXML_MINOR_VERSION@)
set(LIBXML2_VERSION_PATCH @LIBXML_MICRO_VERSION@)
set(LIBXML2_VERSION_STRING "@VERSION@")
set(LIBXML2_INSTALL_PREFIX ${PACKAGE_PREFIX_DIR})
set(LIBXML2_INCLUDE_DIR ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@/libxml2)
set(LIBXML2_LIBRARY_DIR ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@)
macro(select_library_location target basename)
if(TARGET ${target})
foreach(property IN ITEMS IMPORTED_LOCATION IMPORTED_IMPLIB)
get_target_property(${basename}_${property}_DEBUG ${target} ${property}_DEBUG)
get_target_property(${basename}_${property}_MINSIZEREL ${target} ${property}_MINSIZEREL)
get_target_property(${basename}_${property}_RELEASE ${target} ${property}_RELEASE)
get_target_property(${basename}_${property}_RELWITHDEBINFO ${target} ${property}_RELWITHDEBINFO)
if(${basename}_${property}_DEBUG AND ${basename}_${property}_RELEASE)
set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized ${${basename}_${property}_RELEASE})
elseif(${basename}_${property}_DEBUG AND ${basename}_${property}_RELWITHDEBINFO)
set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized ${${basename}_${property}_RELWITHDEBINFO})
elseif(${basename}_${property}_DEBUG AND ${basename}_${property}_MINSIZEREL)
set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized ${${basename}_${property}_MINSIZEREL})
elseif(${basename}_${property}_RELEASE)
set(${basename}_LIBRARY ${${basename}_${property}_RELEASE})
elseif(${basename}_${property}_RELWITHDEBINFO)
set(${basename}_LIBRARY ${${basename}_${property}_RELWITHDEBINFO})
elseif(${basename}_${property}_MINSIZEREL)
set(${basename}_LIBRARY ${${basename}_${property}_MINSIZEREL})
elseif(${basename}_${property}_DEBUG)
set(${basename}_LIBRARY ${${basename}_${property}_DEBUG})
endif()
endforeach()
endif()
endmacro()
macro(select_executable_location target basename)
if(TARGET ${target})
get_target_property(${basename}_IMPORTED_LOCATION_DEBUG ${target} IMPORTED_LOCATION_DEBUG)
get_target_property(${basename}_IMPORTED_LOCATION_MINSIZEREL ${target} IMPORTED_LOCATION_MINSIZEREL)
get_target_property(${basename}_IMPORTED_LOCATION_RELEASE ${target} IMPORTED_LOCATION_RELEASE)
get_target_property(${basename}_IMPORTED_LOCATION_RELWITHDEBINFO ${target} IMPORTED_LOCATION_RELWITHDEBINFO)
if(${basename}_IMPORTED_LOCATION_RELEASE)
set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_RELEASE})
elseif(${basename}_IMPORTED_LOCATION_RELWITHDEBINFO)
set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_RELWITHDEBINFO})
elseif(${basename}_IMPORTED_LOCATION_MINSIZEREL)
set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_MINSIZEREL})
elseif(${basename}_IMPORTED_LOCATION_DEBUG)
set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_DEBUG})
endif()
endif()
endmacro()
select_library_location(LibXml2::LibXml2 LIBXML2)
select_executable_location(LibXml2::xmlcatalog LIBXML2_XMLCATALOG)
select_executable_location(LibXml2::xmllint LIBXML2_XMLLINT)
set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY})
set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR})
include(CMakeFindDependencyMacro)
set(LIBXML2_SHARED @BUILD_SHARED_LIBS@)
set(LIBXML2_WITH_ICONV @LIBXML2_WITH_ICONV@)
set(LIBXML2_WITH_THREADS @LIBXML2_WITH_THREADS@)
set(LIBXML2_WITH_ICU @LIBXML2_WITH_ICU@)
set(LIBXML2_WITH_LZMA @LIBXML2_WITH_LZMA@)
set(LIBXML2_WITH_ZLIB @LIBXML2_WITH_ZLIB@)
if(LIBXML2_WITH_ICONV)
find_dependency(Iconv)
list(APPEND LIBXML2_LIBRARIES ${Iconv_LIBRARIES})
list(APPEND LIBXML2_INCLUDE_DIRS ${Iconv_INCLUDE_DIRS})
endif()
if(NOT LIBXML2_SHARED)
set(LIBXML2_DEFINITIONS -DLIBXML_STATIC)
if(LIBXML2_WITH_THREADS)
find_dependency(Threads)
list(APPEND LIBXML2_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
endif()
if(LIBXML2_WITH_ICU)
find_dependency(ICU COMPONENTS data i18n uc)
list(APPEND LIBXML2_LIBRARIES ${ICU_LIBRARIES})
endif()
if(LIBXML2_WITH_LZMA)
find_dependency(LibLZMA)
list(APPEND LIBXML2_LIBRARIES ${LIBLZMA_LIBRARIES})
endif()
if(LIBXML2_WITH_ZLIB)
find_dependency(ZLIB)
list(APPEND LIBXML2_LIBRARIES ${ZLIB_LIBRARIES})
endif()
if(UNIX)
list(APPEND LIBXML2_LIBRARIES m)
endif()
if(WIN32)
list(APPEND LIBXML2_LIBRARIES ws2_32)
endif()
endif()
# whether libxml2 has dso support
set(LIBXML2_MODULES @LIBXML2_WITH_MODULES@)
mark_as_advanced(LIBXML2_LIBRARY LIBXML2_XMLCATALOG_EXECUTABLE LIBXML2_XMLLINT_EXECUTABLE)
|