Atlas - FindLibUSB.cmake
Home / ext / SDL / cmake Lines: 1 | Size: 2181 bytes [Download] [Show on GitHub] [Search similar files] [Raw] [Raw (proxy)][FILE BEGIN]1include(FindPackageHandleStandardArgs) 2 3set(LibUSB_PKG_CONFIG_SPEC libusb-1.0>=1.0.16) 4set(LibUSB_MIN_API_VERSION 0x01000102) 5 6find_package(PkgConfig QUIET) 7 8if(PKG_CONFIG_FOUND) 9 pkg_check_modules(PC_LibUSB ${LibUSB_PKG_CONFIG_SPEC}) 10endif() 11 12find_library(LibUSB_LIBRARY 13 NAMES usb-1.0 libusb-1.0 usb 14 HINTS ${PC_LibUSB_LIBRARY_DIRS} 15) 16 17find_path(LibUSB_INCLUDE_PATH 18 NAMES libusb.h 19 PATH_SUFFIXES libusb-1.0 20 HINTS ${PC_LibUSB_INCLUDE_DIRS} 21) 22 23set(LibUSB_API_VERSION "LibUSB_API_VERSION-NOTFOUND") 24if(LibUSB_INCLUDE_PATH AND EXISTS "${LibUSB_INCLUDE_PATH}/libusb.h") 25 file(READ "${LibUSB_INCLUDE_PATH}/libusb.h" LIBUSB_H_TEXT) 26 if("${LIBUSB_H_TEXT}" MATCHES "#define[ \t]+LIBUSBX?_API_VERSION[ \t]+(0x[0-9a-fA-F]+)" ) 27 set(LibUSB_API_VERSION "${CMAKE_MATCH_1}") 28 endif() 29endif() 30 31if(LibUSB_API_VERSION) 32 math(EXPR LibUSB_MIN_API_VERSION_decimal "${LibUSB_MIN_API_VERSION}") 33 math(EXPR LibUSB_API_VERSION_decimal "${LibUSB_API_VERSION}") 34 if(NOT LibUSB_MIN_API_VERSION_decimal LESS_EQUAL LibUSB_API_VERSION_decimal) 35 set(LibUSB_LIBRARY "LibUSB_LIBRARY-NOTFOUND") 36 endif() 37else() 38 set(LibUSB_LIBRARY "LibUSB_LIBRARY-NOTFOUND") 39endif() 40 41set(LibUSB_COMPILE_OPTIONS "" CACHE STRING "Extra compile options of LibUSB") 42 43set(LibUSB_LINK_LIBRARIES "" CACHE STRING "Extra link libraries of LibUSB") 44 45set(LibUSB_LINK_FLAGS "" CACHE STRING "Extra link flags of LibUSB") 46 47if(LibUSB_LIBRARY AND LibUSB_INCLUDE_PATH) 48 if(PC_LibUSB_FOUND) 49 set(LibUSB_VERSION "${PC_LibUSB_VERSION}") 50 else() 51 set(LibUSB_VERSION "1.0.16-or-higher") 52 endif() 53else() 54 set(LibUSB_VERSION "LibUSB_VERSION-NOTFOUND") 55endif() 56 57find_package_handle_standard_args(LibUSB 58 VERSION_VAR LibUSB_VERSION 59 REQUIRED_VARS LibUSB_LIBRARY LibUSB_INCLUDE_PATH 60) 61 62if(LibUSB_FOUND AND NOT TARGET LibUSB::LibUSB) 63 add_library(LibUSB::LibUSB IMPORTED UNKNOWN) 64 set_target_properties(LibUSB::LibUSB 65 PROPERTIES 66 IMPORTED_LOCATION "${LibUSB_LIBRARY}" 67 INTERFACE_INCLUDE_DIRECTORIES "${LibUSB_INCLUDE_PATH}" 68 INTERFACE_COMPILE_OPTIONS "${LibUSB_COMPILE_OPTIONS}" 69 INTERFACE_LINK_LIBRARIES "${LibUSB_LINK_LIBRARIES}" 70 INTERFACE_LINK_OPTIONS "${LibUSB_LINK_OPTIONS}" 71 ) 72endif() 73 74[FILE END](C) 2025 0x4248 (C) 2025 4248 Media and 4248 Systems, All part of 0x4248 See LICENCE files for more information. Not all files are by 0x4248 always check Licencing.