Skip to content

Commit 6d37b04

Browse files
committed
[usbipdcpp] New port: A C++ library for creating usbip servers
1 parent 81e3c88 commit 6d37b04

File tree

3 files changed

+72
-0
lines changed

3 files changed

+72
-0
lines changed

ports/usbipdcpp/portfile.cmake

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
vcpkg_from_github(
2+
OUT_SOURCE_PATH SOURCE_PATH
3+
REPO yunsmall/usbipdcpp
4+
REF v0.0.1
5+
SHA512 8eda6ba94de7be9037f8462b1020452654299a1160041825206521dd4518393f8663a75cf64d5f43e2c227a51751e4276a6bd2ecb34cc1613ff7518c89b69772
6+
HEAD_REF main
7+
)
8+
9+
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
10+
FEATURES
11+
coroutine USBIPDCPP_USE_COROUTINE
12+
libusb USBIPDCPP_BUILD_LIBUSB_COMPONENTS
13+
busywait USBIPDCPP_ENABLE_BUSY_WAIT
14+
)
15+
16+
vcpkg_find_acquire_program(PKGCONFIG)
17+
18+
vcpkg_cmake_configure(
19+
SOURCE_PATH "${SOURCE_PATH}"
20+
OPTIONS
21+
-DPKG_CONFIG_EXECUTABLE="${PKGCONFIG}"
22+
-DUSBIPDCPP_BUILD_EXAMPLES=OFF
23+
-DUSBIPDCPP_BUILD_TESTS=OFF
24+
${FEATURE_OPTIONS}
25+
)
26+
27+
vcpkg_cmake_install()
28+
29+
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/usbipdcpp)
30+
31+
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
32+
33+
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
34+
35+
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")

ports/usbipdcpp/usage

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
The package usbipdcpp provides CMake targets:
2+
3+
find_package(usbipdcpp CONFIG REQUIRED)
4+
target_link_libraries(main PRIVATE usbipdcpp::usbipdcpp)

ports/usbipdcpp/vcpkg.json

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"name": "usbipdcpp",
3+
"version": "0.0.1",
4+
"description": "A C++ library for creating usbip servers",
5+
"homepage": "https://github.com/yunsmall/usbipdcpp",
6+
"license": "Apache-2.0",
7+
"dependencies": [
8+
"asio",
9+
"spdlog",
10+
{
11+
"name": "vcpkg-cmake",
12+
"host": true
13+
},
14+
{
15+
"name": "vcpkg-cmake-config",
16+
"host": true
17+
}
18+
],
19+
"features": {
20+
"coroutine": {
21+
"description": "Use C++20 coroutine-based implementation"
22+
},
23+
"libusb": {
24+
"description": "Build libusb-based server components for physical USB device forwarding",
25+
"dependencies": [
26+
"libusb"
27+
]
28+
},
29+
"busywait": {
30+
"description": "Enable busy-wait mode for lower latency (incompatible with coroutine)"
31+
}
32+
}
33+
}

0 commit comments

Comments
 (0)