Merge pull request #25883 from CrystalP/fix-slowscan
[xbmc.git] / cmake / modules / FindPlist.cmake
blob4ba046de1ce5caa5bf8007417be7a4f748850332
1 #.rst:
2 # FindPlist
3 # ---------
4 # Finds the Plist library
6 # This will define the following target:
8 #   ${APP_NAME_LC}::Plist - The Plist library
10 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
11   find_package(PkgConfig)
12   if(PKG_CONFIG_FOUND AND NOT (WIN32 OR WINDOWS_STORE))
13     pkg_search_module(PC_PLIST libplist-2.0 libplist QUIET)
14   endif()
16   find_path(PLIST_INCLUDE_DIR plist/plist.h
17                               HINTS ${DEPENDS_PATH}/include ${PC_PLIST_INCLUDEDIR}
18                               ${${CORE_PLATFORM_NAME_LC}_SEARCH_CONFIG})
19   find_library(PLIST_LIBRARY NAMES plist-2.0 plist libplist-2.0 libplist
20                              HINTS ${DEPENDS_PATH}/lib ${PC_PLIST_LIBDIR}
21                              ${${CORE_PLATFORM_NAME_LC}_SEARCH_CONFIG})
23   set(PLIST_VERSION ${PC_PLIST_VERSION})
25   include(FindPackageHandleStandardArgs)
26   find_package_handle_standard_args(Plist
27                                     REQUIRED_VARS PLIST_LIBRARY PLIST_INCLUDE_DIR
28                                     VERSION_VAR PLIST_VERSION)
30   if(PLIST_FOUND)
31     add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
32     set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
33                                                                      IMPORTED_LOCATION "${PLIST_LIBRARY}"
34                                                                      INTERFACE_INCLUDE_DIRECTORIES "${PLIST_INCLUDE_DIR}"
35                                                                      INTERFACE_COMPILE_DEFINITIONS HAS_AIRPLAY)
36   endif()
37 endif()