summaryrefslogtreecommitdiffhomepage
path: root/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake')
-rw-r--r--cmake/FindLibUSB.cmake80
1 files changed, 80 insertions, 0 deletions
diff --git a/cmake/FindLibUSB.cmake b/cmake/FindLibUSB.cmake
new file mode 100644
index 00000000..8d39db62
--- /dev/null
+++ b/cmake/FindLibUSB.cmake
@@ -0,0 +1,80 @@
+# - Find libusb for portable USB support
+#
+# If the LibUSB_ROOT environment variable
+# is defined, it will be used as base path.
+# The following standard variables get defined:
+# LibUSB_FOUND: true if LibUSB was found
+# LibUSB_INCLUDE_DIR: the directory that contains the include file
+# LibUSB_LIBRARIES: the libraries
+
+IF(PKG_CONFIG_FOUND)
+ IF(DEPENDS_DIR) #Otherwise use System pkg-config path
+ SET(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:${DEPENDS_DIR}/libusb/lib/pkgconfig")
+ ENDIF()
+ SET(MODULE "libusb-1.0")
+ IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ SET(MODULE "libusb-1.0>=1.0.20")
+ ENDIF()
+ IF(LibUSB_FIND_REQUIRED)
+ SET(LibUSB_REQUIRED "REQUIRED")
+ ENDIF()
+ PKG_CHECK_MODULES(LibUSB ${LibUSB_REQUIRED} ${MODULE})
+
+ FIND_LIBRARY(LibUSB_LIBRARY
+ NAMES ${LibUSB_LIBRARIES}
+ HINTS ${LibUSB_LIBRARY_DIRS}
+ )
+ SET(LibUSB_LIBRARIES ${LibUSB_LIBRARY})
+
+ RETURN()
+ENDIF()
+
+FIND_PATH(LibUSB_INCLUDE_DIRS
+ NAMES libusb.h
+ PATHS
+ "${DEPENDS_DIR}/libusb"
+ "${DEPENDS_DIR}/libusbx"
+ ENV LibUSB_ROOT
+ PATH_SUFFIXES
+ include
+ libusb
+ include/libusb-1.0
+)
+
+SET(LIBUSB_NAME libusb)
+
+FIND_LIBRARY(LibUSB_LIBRARIES
+ NAMES ${LIBUSB_NAME}-1.0
+ PATHS
+ "${DEPENDS_DIR}/libusb"
+ "${DEPENDS_DIR}/libusbx"
+ ENV LibUSB_ROOT
+ PATH_SUFFIXES
+ x64/Release/dll
+ x64/Debug/dll
+ Win32/Release/dll
+ Win32/Debug/dll
+ MS64
+ MS64/dll
+)
+
+IF(WIN32)
+FIND_FILE(LibUSB_DLL
+ ${LIBUSB_NAME}-1.0.dll
+ PATHS
+ "${DEPENDS_DIR}/libusb"
+ "${DEPENDS_DIR}/libusbx"
+ ENV LibUSB_ROOT
+ PATH_SUFFIXES
+ x64/Release/dll
+ x64/Debug/dll
+ Win32/Release/dll
+ Win32/Debug/dll
+ MS64
+ MS64/dll
+)
+ENDIF()
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibUSB FOUND_VAR LibUSB_FOUND
+ REQUIRED_VARS LibUSB_LIBRARIES LibUSB_INCLUDE_DIRS) \ No newline at end of file