Merge pull request #25883 from CrystalP/fix-slowscan
[xbmc.git] / cmake / modules / FindLibUSB.cmake
blobb6e90a8207fa4386049b4707862132938e745e40
1 #.rst:
2 # FindLibUSB
3 # ----------
4 # Finds the USB library
6 # This will define the following target:
8 #   ${APP_NAME_LC}::LibUSB   - The USB library
10 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
11   find_package(PkgConfig)
13   if(PKG_CONFIG_FOUND)
14     pkg_check_modules(PC_LIBUSB libusb QUIET)
15   endif()
17   find_path(LIBUSB_INCLUDE_DIR usb.h
18                                HINTS ${PC_LIBUSB_INCLUDEDIR})
19   find_library(LIBUSB_LIBRARY NAMES usb
20                               HINTS ${PC_LIBUSB_INCLUDEDIR})
21   set(LIBUSB_VERSION ${PC_LIBUSB_VERSION})
23   include(FindPackageHandleStandardArgs)
24   find_package_handle_standard_args(LibUSB
25                                     REQUIRED_VARS LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR
26                                     VERSION_VAR LIBUSB_VERSION)
28   if(LIBUSB_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 "${LIBUSB_LIBRARY}"
32                                                                      INTERFACE_INCLUDE_DIRECTORIES "${LIBUSB_INCLUDE_DIR}"
33                                                                      INTERFACE_COMPILE_DEFINITIONS HAVE_LIBUSB)
34   endif()
35 endif()