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)
14 pkg_check_modules(PC_LIBUSB libusb QUIET)
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)
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)