Merge pull request #25883 from CrystalP/fix-slowscan
[xbmc.git] / cmake / modules / FindXSLT.cmake
blob1c24ab35cf73f08b09d6095db3cbda717d7b47da
1 #.rst:
2 # FindXSLT
3 # --------
4 # Finds the XSLT library
6 # This will define the following target:
8 #   ${APP_NAME_LC}::XSLT - The XSLT library
10 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
12   find_package(LibXml2 REQUIRED)
13   find_package(PkgConfig)
15   if(PKG_CONFIG_FOUND AND NOT (WIN32 OR WINDOWS_STORE))
16     pkg_check_modules(PC_XSLT libxslt QUIET)
17   endif()
19   find_path(XSLT_INCLUDE_DIR NAMES libxslt/xslt.h
20                              HINTS ${DEPENDS_PATH}/include ${PC_XSLT_INCLUDEDIR}
21                              ${${CORE_PLATFORM_NAME_LC}_SEARCH_CONFIG})
22   find_library(XSLT_LIBRARY NAMES xslt libxslt
23                             HINTS ${DEPENDS_PATH}/lib ${PC_XSLT_LIBDIR}
24                             ${${CORE_PLATFORM_NAME_LC}_SEARCH_CONFIG})
26   set(XSLT_VERSION ${PC_XSLT_VERSION})
28   include(FindPackageHandleStandardArgs)
29   find_package_handle_standard_args(XSLT
30                                     REQUIRED_VARS XSLT_LIBRARY XSLT_INCLUDE_DIR
31                                     VERSION_VAR XSLT_VERSION)
33   if(XSLT_FOUND)
34     add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
35     set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
36                                                                      IMPORTED_LOCATION "${XSLT_LIBRARY}"
37                                                                      INTERFACE_INCLUDE_DIRECTORIES "${XSLT_INCLUDE_DIR}"
38                                                                      INTERFACE_COMPILE_DEFINITIONS HAVE_LIBXSLT)
40     target_link_libraries(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} INTERFACE LibXml2::LibXml2)
41   endif()
42 endif()