diff options
| author | 3gg <3gg@shellblade.net> | 2025-12-27 12:03:39 -0800 |
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2025-12-27 12:03:39 -0800 |
| commit | 5a079a2d114f96d4847d1ee305d5b7c16eeec50e (patch) | |
| tree | 8926ab44f168acf787d8e19608857b3af0f82758 /contrib/SDL-3.2.8/cmake/FindLibUSB.cmake | |
Initial commit
Diffstat (limited to 'contrib/SDL-3.2.8/cmake/FindLibUSB.cmake')
| -rw-r--r-- | contrib/SDL-3.2.8/cmake/FindLibUSB.cmake | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/cmake/FindLibUSB.cmake b/contrib/SDL-3.2.8/cmake/FindLibUSB.cmake new file mode 100644 index 0000000..2488735 --- /dev/null +++ b/contrib/SDL-3.2.8/cmake/FindLibUSB.cmake | |||
| @@ -0,0 +1,73 @@ | |||
| 1 | include(FindPackageHandleStandardArgs) | ||
| 2 | |||
| 3 | set(LibUSB_PKG_CONFIG_SPEC libusb-1.0>=1.0.16) | ||
| 4 | set(LibUSB_MIN_API_VERSION 0x01000102) | ||
| 5 | |||
| 6 | find_package(PkgConfig QUIET) | ||
| 7 | |||
| 8 | if(PKG_CONFIG_FOUND) | ||
| 9 | pkg_check_modules(PC_LibUSB ${LibUSB_PKG_CONFIG_SPEC}) | ||
| 10 | endif() | ||
| 11 | |||
| 12 | find_library(LibUSB_LIBRARY | ||
| 13 | NAMES usb-1.0 libusb-1.0 | ||
| 14 | HINTS ${PC_LibUSB_LIBRARY_DIRS} | ||
| 15 | ) | ||
| 16 | |||
| 17 | find_path(LibUSB_INCLUDE_PATH | ||
| 18 | NAMES libusb.h | ||
| 19 | PATH_SUFFIXES libusb-1.0 | ||
| 20 | HINTS ${PC_LibUSB_INCLUDE_DIRS} | ||
| 21 | ) | ||
| 22 | |||
| 23 | set(LibUSB_API_VERSION "LibUSB_API_VERSION-NOTFOUND") | ||
| 24 | if(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() | ||
| 29 | endif() | ||
| 30 | |||
| 31 | if(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() | ||
| 37 | else() | ||
| 38 | set(LibUSB_LIBRARY "LibUSB_LIBRARY-NOTFOUND") | ||
| 39 | endif() | ||
| 40 | |||
| 41 | set(LibUSB_COMPILE_OPTIONS "" CACHE STRING "Extra compile options of LibUSB") | ||
| 42 | |||
| 43 | set(LibUSB_LINK_LIBRARIES "" CACHE STRING "Extra link libraries of LibUSB") | ||
| 44 | |||
| 45 | set(LibUSB_LINK_FLAGS "" CACHE STRING "Extra link flags of LibUSB") | ||
| 46 | |||
| 47 | if(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() | ||
| 53 | else() | ||
| 54 | set(LibUSB_VERSION "LibUSB_VERSION-NOTFOUND") | ||
| 55 | endif() | ||
| 56 | |||
| 57 | find_package_handle_standard_args(LibUSB | ||
| 58 | VERSION_VAR LibUSB_VERSION | ||
| 59 | REQUIRED_VARS LibUSB_LIBRARY LibUSB_INCLUDE_PATH | ||
| 60 | ) | ||
| 61 | |||
| 62 | if(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 | ) | ||
| 72 | endif() | ||
| 73 | |||
