Merge pull request #25883 from CrystalP/fix-slowscan
[xbmc.git] / cmake / modules / FindLibDisplayInfo.cmake
blobcfe48aa1db99432e5d9c71a44dcf40b99f78e992
1 #.rst:
2 # FindLibDisplayInfo
3 # -------
4 # Finds the libdisplay-info library
6 # This will define the following target:
8 #   ${APP_NAME_LC}::LibDisplayInfo   - The LibDisplayInfo library
10 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
12   find_package(PkgConfig)
14   if(PKG_CONFIG_FOUND)
15     pkg_check_modules(PC_LIBDISPLAYINFO libdisplay-info QUIET)
16   endif()
18   find_path(LIBDISPLAYINFO_INCLUDE_DIR libdisplay-info/edid.h
19                             HINTS ${PC_LIBDISPLAYINFO_INCLUDEDIR})
21   find_library(LIBDISPLAYINFO_LIBRARY NAMES display-info
22                            HINTS ${PC_LIBDISPLAYINFO_LIBDIR})
24   set(LIBDISPLAYINFO_VERSION ${PC_LIBDISPLAYINFO_VERSION})
26   include(FindPackageHandleStandardArgs)
27   find_package_handle_standard_args(LibDisplayInfo
28                                     REQUIRED_VARS LIBDISPLAYINFO_LIBRARY LIBDISPLAYINFO_INCLUDE_DIR
29                                     VERSION_VAR LIBDISPLAYINFO_VERSION)
31   if(LIBDISPLAYINFO_FOUND)
32     add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
33     set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
34                                                                      IMPORTED_LOCATION "${LIBDISPLAYINFO_LIBRARY}"
35                                                                      INTERFACE_INCLUDE_DIRECTORIES "${LIBDISPLAYINFO_INCLUDE_DIR}")
36   else()
37     if(LibDisplayInfo_FIND_REQUIRED)
38       message(FATAL_ERROR "Libdisplayinfo libraries were not found.")
39     endif()
40   endif()
41 endif()