Merge pull request #25883 from CrystalP/fix-slowscan
[xbmc.git] / cmake / modules / FindUDEV.cmake
blob5ad22f17c80d8193a6b2188ddbd2be4912892e51
1 #.rst:
2 # FindUDEV
3 # -------
4 # Finds the UDEV library
6 # This will define the following target:
8 #   ${APP_NAME_LC}::UDEV   - The UDEV library
10 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
11   find_package(PkgConfig)
12   if(PKG_CONFIG_FOUND)
13     pkg_check_modules(PC_UDEV libudev QUIET)
14   endif()
16   find_path(UDEV_INCLUDE_DIR NAMES libudev.h
17                              HINTS ${PC_UDEV_INCLUDEDIR})
18   find_library(UDEV_LIBRARY NAMES udev
19                             HINTS ${PC_UDEV_LIBDIR})
21   set(UDEV_VERSION ${PC_UDEV_VERSION})
23   include(FindPackageHandleStandardArgs)
24   find_package_handle_standard_args(UDEV
25                                     REQUIRED_VARS UDEV_LIBRARY UDEV_INCLUDE_DIR
26                                     VERSION_VAR UDEV_VERSION)
28   if(UDEV_FOUND)
29     add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
30     set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
31                                                                      IMPORTED_LOCATION "${UDEV_LIBRARY}"
32                                                                      INTERFACE_INCLUDE_DIRECTORIES "${UDEV_INCLUDE_DIR}"
33                                                                      INTERFACE_COMPILE_DEFINITIONS HAVE_LIBUDEV)
34   endif()
35 endif()