diff --git a/cmake/modules/Findhidapi.cmake b/cmake/modules/Findhidapi.cmake index 8da70f855a4f..98769273fb25 100644 --- a/cmake/modules/Findhidapi.cmake +++ b/cmake/modules/Findhidapi.cmake @@ -43,6 +43,8 @@ The following cache variables may also be set: #]=======================================================================] +include(IsStaticLibrary) + find_package(PkgConfig QUIET) if(PkgConfig_FOUND) pkg_search_module(PC_hidapi QUIET hidapi-libusb hidapi) @@ -121,6 +123,23 @@ if(hidapi_FOUND) INTERFACE_COMPILE_OPTIONS "${PC_hidapi_CFLAGS_OTHER}" INTERFACE_INCLUDE_DIRECTORIES "${hidapi_INCLUDE_DIR}" ) + + find_package(Udev) + if(Udev_FOUND) + is_static_library(hidapi_IS_STATIC hidapi::hidapi) + if(hidapi_IS_STATIC) + set_property(TARGET hidapi::hidapi APPEND PROPERTY INTERFACE_LINK_LIBRARIES + Udev::Udev + ) + endif() + + is_static_library(hidapi-hidraw_IS_STATIC hidapi::hidraw) + if(hidapi-hidraw_IS_STATIC) + set_property(TARGET hidapi::hidraw APPEND PROPERTY INTERFACE_LINK_LIBRARIES + Udev::Udev + ) + endif() + endif() endif() endif() endif()