#[==============================================[ FindLibUSB ----------- Searching libusb-1.0 library and creating imported target LibUSB::LibUSB #]==============================================] # TODO Append parts for Version compasion and REQUIRED support if (MSVC OR MINGW) return() endif() if (NOT TARGET LibUSB::LibUSB) include(FindPkgMacros) findpkg_begin(LibUSB) # Get path, convert backslashes as ${ENV_${var}} getenv_path(LibUSB_HOME) # construct search paths set(LibUSB_PREFIX_PATH ${LibUSB_HOME} ${ENV_LibUSB_HOME}) create_search_paths(LibUSB) # redo search if prefix path changed clear_if_changed(LibUSB_PREFIX_PATH LibUSB_LIBRARY_FWK LibUSB_LIBRARY_REL LibUSB_LIBRARY_DBG LibUSB_LIBRARY_RELEASE LibUSB_LIBRARY_DEBUG LibUSB_INCLUDE_DIR ) set(LibUSB_LIBRARY_NAMES libusb libusb_static usb-1.0 usb_static-1.0) get_debug_names(LibUSB_LIBRARY_NAMES) findpkg_framework(LibUSB) find_path(LibUSB_INCLUDE_DIR NAMES libusb.h HINTS ${LibUSB_INC_SEARCH_PATH} ${LibUSB_PKGC_INCLUDE_DIRS} PATH_SUFFIXES libusb NO_CMAKE_FIND_ROOT_PATH) find_library(LibUSB_LIBRARY_REL NAMES ${LibUSB_LIBRARY_NAMES} HINTS ${LibUSB_LIB_SEARCH_PATH} ${LibUSB_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel ${ANDROID_ABI} NO_CMAKE_FIND_ROOT_PATH) find_library(LibUSB_LIBRARY_DBG NAMES ${LibUSB_LIBRARY_NAMES_DBG} HINTS ${LibUSB_LIB_SEARCH_PATH} ${LibUSB_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug ${ANDROID_ABI} NO_CMAKE_FIND_ROOT_PATH) set(LibUSB_LIBRARY_RELEASE ${LibUSB_LIBRARY_REL}) set(LibUSB_LIBRARY_DEBUG ${LibUSB_LIBRARY_DBG}) make_library_set(LibUSB_LIBRARY) findpkg_finish(LibUSB) if(LibUSB_FOUND) message(STATUS "libusb-1.0 found") add_library(LibUSB::LibUSB UNKNOWN IMPORTED) add_library(LibUSB::LibUSBstatic UNKNOWN IMPORTED) if (DEFINED LibUSB_INCLUDE_DIRS AND NOT LibUSB_INCLUDE_DIRS STREQUAL "") set_target_properties(LibUSB::LibUSB PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${LibUSB_INCLUDE_DIRS}) set_target_properties(LibUSB::LibUSBstatic PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${LibUSB_INCLUDE_DIRS}) endif() if(LibUSB_LIBRARIES) set_target_properties(LibUSB::LibUSB PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "C" IMPORTED_LOCATION_RELEASE ${LibUSB_LIBRARY_REL} IMPORTED_LOCATION_DEBUG ${LibUSB_LIBRARY_DBG} ) set_target_properties(LibUSB::LibUSBstatic PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "C" IMPORTED_LOCATION_RELEASE ${LibUSB_LIBRARY_REL} IMPORTED_LOCATION_DEBUG ${LibUSB_LIBRARY_DBG} ) endif() endif() else() message(WARNING "libusb-1.0 could not be found") endif()