diff options
Diffstat (limited to 'src/contrib/SDL-3.2.20/cmake/FindLibUSB.cmake')
-rw-r--r-- | src/contrib/SDL-3.2.20/cmake/FindLibUSB.cmake | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/contrib/SDL-3.2.20/cmake/FindLibUSB.cmake b/src/contrib/SDL-3.2.20/cmake/FindLibUSB.cmake new file mode 100644 index 0000000..2488735 --- /dev/null +++ b/src/contrib/SDL-3.2.20/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 | |||