[usbipdcpp] New port: A C++ library for creating usbip servers#50973
[usbipdcpp] New port: A C++ library for creating usbip servers#50973yunsmall wants to merge 1 commit intomicrosoft:masterfrom
Conversation
|
@microsoft-github-policy-service agree |
8b46118 to
1da552a
Compare
| "coroutine": { | ||
| "description": "Use C++20 coroutine-based implementation" | ||
| }, |
9a83e2d to
6ae4cd9
Compare
|
@vicroms Thank you for the review! I've made the following changes:
Regarding whether coroutine is an alternative: It's not a mutually exclusive alternative but an internal implementation detail (similar to bullet3's double/single precision feature), which is transparent to users. Also added a busywait feature for lower latency mode. |
dg0yt
left a comment
There was a problem hiding this comment.
FTR there is PR template for new ports, with a checklist.
| vcpkg_from_github( | ||
| OUT_SOURCE_PATH SOURCE_PATH | ||
| REPO yunsmall/usbipdcpp | ||
| REF v0.0.1 |
There was a problem hiding this comment.
| REF v0.0.1 | |
| REF v${VERSION} |
| FEATURES | ||
| coroutine USBIPDCPP_USE_COROUTINE | ||
| libusb USBIPDCPP_BUILD_LIBUSB_COMPONENTS | ||
| busywait USBIPDCPP_ENABLE_BUSY_WAIT |
There was a problem hiding this comment.
Style.
| FEATURES | |
| coroutine USBIPDCPP_USE_COROUTINE | |
| libusb USBIPDCPP_BUILD_LIBUSB_COMPONENTS | |
| busywait USBIPDCPP_ENABLE_BUSY_WAIT | |
| FEATURES | |
| coroutine USBIPDCPP_USE_COROUTINE | |
| libusb USBIPDCPP_BUILD_LIBUSB_COMPONENTS | |
| busywait USBIPDCPP_ENABLE_BUSY_WAIT |
| vcpkg_cmake_configure( | ||
| SOURCE_PATH "${SOURCE_PATH}" | ||
| OPTIONS | ||
| -DPKG_CONFIG_EXECUTABLE="${PKGCONFIG}" |
There was a problem hiding this comment.
Quote for CMake language.
| -DPKG_CONFIG_EXECUTABLE="${PKGCONFIG}" | |
| "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" |
| The package usbipdcpp provides CMake targets: | ||
|
|
||
| find_package(usbipdcpp CONFIG REQUIRED) | ||
| target_link_libraries(main PRIVATE usbipdcpp::usbipdcpp usbipdcpp::libusb) No newline at end of file |
There was a problem hiding this comment.
Align with heuristical output from vcpkg's tool.
| The package usbipdcpp provides CMake targets: | |
| find_package(usbipdcpp CONFIG REQUIRED) | |
| target_link_libraries(main PRIVATE usbipdcpp::usbipdcpp usbipdcpp::libusb) | |
| usbipdcpp provides CMake targets: | |
| find_package(usbipdcpp CONFIG REQUIRED) | |
| target_link_libraries(main PRIVATE usbipdcpp::usbipdcpp usbipdcpp::libusb) |
Do users really need to add/use two targets?
libusb seems to be optional. Is usbipdcpp::libusb an actual artifact or just representing the external libusb?
Summary
This PR adds a new port for usbipdcpp, a C++ library for creating USB/IP servers.
Features
Features available
coroutine: Use C++20 coroutine-based implementationlibusb: Build libusb-based server components for physical USB device forwardingUsage