File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -42,8 +42,23 @@ FIND_PATH(LibUSB_INCLUDE_DIRS
4242)
4343
4444SET (LIBUSB_NAME libusb)
45- IF (LIBUSB_USE_USBDK)
46- SET (LIBUSB_NAME libusb-usbdk)
45+ IF (WIN32 )
46+ INCLUDE (CheckCSourceRuns )
47+ CHECK_C_SOURCE_RUNS ("#include <windows.h>\n int main(){return !LoadLibraryA(\" libusbK\" );}" LIBUSB_WITH_LIBUSBK )
48+ CHECK_C_SOURCE_RUNS ("#include <windows.h>\n int main(){return !LoadLibraryA(\" UsbDkHelper\" );}" LIBUSB_WITH_USBDK )
49+
50+ IF (LIBUSB_USE_USBDK)
51+ SET (LIBUSB_NAME libusb-usbdk)
52+ ENDIF ()
53+
54+ IF (LIBUSB_NAME MATCHES ^libusb-usbdk$ AND NOT LIBUSB_WITH_USBDK)
55+ MESSAGE (WARNING "UsbDk device driver is not found. Fall back to libusbK." )
56+ SET (LIBUSB_NAME libusb)
57+ ENDIF ()
58+
59+ IF (LIBUSB_NAME MATCHES ^libusb$ AND NOT LIBUSB_WITH_LIBUSBK)
60+ MESSAGE (FATAL_ERROR "No USB device driver is installed." )
61+ ENDIF ()
4762ENDIF ()
4863
4964FIND_LIBRARY (LibUSB_LIBRARIES
You can’t perform that action at this time.
0 commit comments