From f7bff9f959cc0a44b4efe0d6ae91a69ebe424dd7 Mon Sep 17 00:00:00 2001 From: ririyeye <200610237@qq.com> Date: Thu, 21 Dec 2023 18:43:52 +0800 Subject: [PATCH 1/5] add udev option --- CMakeLists.txt | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index db4ccee..4010c6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -93,6 +93,7 @@ option(LIBUSB_TARGETS_INCLUDE_USING_SYSTEM "Make targets include paths System" O option(LIBUSB_ENABLE_LOGGING "Enable Logging" ON) option(LIBUSB_ENABLE_DEBUG_LOGGING "Enable Debug Logging" OFF) +option(LIBUSB_ENABLE_UDEV "Enable udev in linux" ON) set(LIBUSB_GEN_INCLUDES "${CMAKE_CURRENT_BINARY_DIR}/gen_include") generate_config_file() @@ -160,13 +161,22 @@ else() ) if(CMAKE_SYSTEM_NAME MATCHES "Linux") target_sources(usb-1.0 PRIVATE - "${LIBUSB_ROOT}/os/linux_udev.c" - "${LIBUSB_ROOT}/os/linux_usbfs.c" - "${LIBUSB_ROOT}/os/linux_usbfs.h" + "${LIBUSB_ROOT}/os/linux_usbfs.c" + "${LIBUSB_ROOT}/os/linux_usbfs.h" ) + if(LIBUSB_ENABLE_UDEV) + target_sources(usb-1.0 PRIVATE + "${LIBUSB_ROOT}/os/linux_udev.c" + ) + target_link_libraries(usb-1.0 PRIVATE udev) + target_compile_definitions(usb-1.0 PRIVATE HAVE_LIBUDEV=1) + else() + target_sources(usb-1.0 PRIVATE + "${LIBUSB_ROOT}/os/linux_netlink.c" + ) + endif() find_package(Threads REQUIRED) - target_link_libraries(usb-1.0 PRIVATE udev Threads::Threads) - target_compile_definitions(usb-1.0 PRIVATE HAVE_LIBUDEV=1) + target_link_libraries(usb-1.0 PRIVATE Threads::Threads) elseif(ANDROID) target_sources(usb-1.0 PRIVATE "${LIBUSB_ROOT}/os/linux_netlink.c" From 275b8d1b3dca5ea0bf37b2ff8ecf4062fb0d948f Mon Sep 17 00:00:00 2001 From: ririyeye <200610237@qq.com> Date: Thu, 21 Dec 2023 19:10:03 +0800 Subject: [PATCH 2/5] fix linux_udev compiler err --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4010c6b..f4fadf2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,6 +164,7 @@ else() "${LIBUSB_ROOT}/os/linux_usbfs.c" "${LIBUSB_ROOT}/os/linux_usbfs.h" ) + target_compile_definitions(usb-1.0 PRIVATE -D_GNU_SOURCE) if(LIBUSB_ENABLE_UDEV) target_sources(usb-1.0 PRIVATE "${LIBUSB_ROOT}/os/linux_udev.c" From 3b4859ff38c1ac3d13daab374219e876126e391f Mon Sep 17 00:00:00 2001 From: ririyeye <200610237@qq.com> Date: Mon, 25 Dec 2023 10:44:57 +0800 Subject: [PATCH 3/5] Update CMakeLists.txt no point defning this option for other systems Co-authored-by: Ihor Dutchak --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f4fadf2..a3ef9dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -93,7 +93,9 @@ option(LIBUSB_TARGETS_INCLUDE_USING_SYSTEM "Make targets include paths System" O option(LIBUSB_ENABLE_LOGGING "Enable Logging" ON) option(LIBUSB_ENABLE_DEBUG_LOGGING "Enable Debug Logging" OFF) -option(LIBUSB_ENABLE_UDEV "Enable udev in linux" ON) +if(CMAKE_SYSTEM_NAME MATCHES "Linux") + option(LIBUSB_ENABLE_UDEV "Enable udev backend for device enumeration" ON) +endif() set(LIBUSB_GEN_INCLUDES "${CMAKE_CURRENT_BINARY_DIR}/gen_include") generate_config_file() From 45cd69d29e91a52b7493eb2cffe080775cd80205 Mon Sep 17 00:00:00 2001 From: ririyeye <200610237@qq.com> Date: Mon, 25 Dec 2023 10:56:45 +0800 Subject: [PATCH 4/5] Revert "fix linux_udev compiler err" This reverts commit 275b8d1b3dca5ea0bf37b2ff8ecf4062fb0d948f. --- CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a3ef9dc..f28cfc5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -166,7 +166,6 @@ else() "${LIBUSB_ROOT}/os/linux_usbfs.c" "${LIBUSB_ROOT}/os/linux_usbfs.h" ) - target_compile_definitions(usb-1.0 PRIVATE -D_GNU_SOURCE) if(LIBUSB_ENABLE_UDEV) target_sources(usb-1.0 PRIVATE "${LIBUSB_ROOT}/os/linux_udev.c" From d2e8def5225e6dbcb73f6aceea4f871290f8b249 Mon Sep 17 00:00:00 2001 From: Ihor Dutchak Date: Mon, 25 Dec 2023 19:46:15 +0200 Subject: [PATCH 5/5] Update CMakeLists.txt --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f28cfc5..a344e07 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -163,8 +163,8 @@ else() ) if(CMAKE_SYSTEM_NAME MATCHES "Linux") target_sources(usb-1.0 PRIVATE - "${LIBUSB_ROOT}/os/linux_usbfs.c" - "${LIBUSB_ROOT}/os/linux_usbfs.h" + "${LIBUSB_ROOT}/os/linux_usbfs.c" + "${LIBUSB_ROOT}/os/linux_usbfs.h" ) if(LIBUSB_ENABLE_UDEV) target_sources(usb-1.0 PRIVATE