From 101e836ba2858bc9db6b0b144ff4c11208dd30bc Mon Sep 17 00:00:00 2001 From: allanhanan Date: Thu, 8 Jan 2026 12:00:15 +0530 Subject: [PATCH 1/3] vcpkg(duvc-ctl): add 2.0.1 New Windows DirectShow UVC camera control library port. --- ports/duvc-ctl/portfile.cmake | 35 +++++++++++++++++++++++++++++++++++ ports/duvc-ctl/usage | 11 +++++++++++ ports/duvc-ctl/vcpkg.json | 9 +++++++++ 3 files changed, 55 insertions(+) create mode 100644 ports/duvc-ctl/portfile.cmake create mode 100644 ports/duvc-ctl/usage create mode 100644 ports/duvc-ctl/vcpkg.json diff --git a/ports/duvc-ctl/portfile.cmake b/ports/duvc-ctl/portfile.cmake new file mode 100644 index 00000000000000..f1e5e1faac3119 --- /dev/null +++ b/ports/duvc-ctl/portfile.cmake @@ -0,0 +1,35 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO allanhanan/duvc-ctl + REF "v${VERSION}" + SHA512 5cc63ef7c3a46fb351015ae2b1b96837ea46dbb7656ab1cf633af6027d32ae447dfc60a8757677eae07dabfb3ec1aca90f7019a6d7b5344c66324d39e9f0c464 + HEAD_REF main +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DDUVC_BUILD_SHARED=ON + -DDUVC_BUILD_STATIC=ON + -DDUVC_BUILD_C_API=OFF + -DDUVC_BUILD_CLI=OFF + -DDUVC_BUILD_TESTS=OFF + -DDUVC_BUILD_EXAMPLES=OFF + -DDUVC_BUILD_PYTHON=OFF + -DDUVC_BUILD_DOCS=OFF + -DDUVC_INSTALL=ON + -DDUVC_INSTALL_CMAKE_CONFIG=ON +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/duvc-ctl) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/duvc-ctl/usage b/ports/duvc-ctl/usage new file mode 100644 index 00000000000000..d3d2b4651638cc --- /dev/null +++ b/ports/duvc-ctl/usage @@ -0,0 +1,11 @@ +duvc-ctl provides CMake targets: + + find_package(duvc CONFIG REQUIRED) + +for static linking: + + target_link_libraries(main PRIVATE duvc::core-static) + +Or for shared linking: + + target_link_libraries(main PRIVATE duvc::core-shared) diff --git a/ports/duvc-ctl/vcpkg.json b/ports/duvc-ctl/vcpkg.json new file mode 100644 index 00000000000000..b9553a68453931 --- /dev/null +++ b/ports/duvc-ctl/vcpkg.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "duvc-ctl", + "version": "2.0.1", + "description": "Windows DirectShow UVC camera control library", + "homepage": "https://github.com/allanhanan/duvc-ctl", + "license": "MIT", + "supports": "windows" +} From 986330b9bc7a385333e1e333740c3b32618dd7a0 Mon Sep 17 00:00:00 2001 From: allanhanan Date: Thu, 8 Jan 2026 12:04:32 +0530 Subject: [PATCH 2/3] vcpkg(duvc-ctl): add v2.0.1#0 --- ports/duvc-ctl/portfile.cmake | 39 +++++++++++++++++++++++++---------- ports/duvc-ctl/vcpkg.json | 12 ++++++++++- versions/baseline.json | 4 ++++ versions/d-/duvc-ctl.json | 9 ++++++++ 4 files changed, 52 insertions(+), 12 deletions(-) create mode 100644 versions/d-/duvc-ctl.json diff --git a/ports/duvc-ctl/portfile.cmake b/ports/duvc-ctl/portfile.cmake index f1e5e1faac3119..45b914ca61a46c 100644 --- a/ports/duvc-ctl/portfile.cmake +++ b/ports/duvc-ctl/portfile.cmake @@ -6,11 +6,19 @@ vcpkg_from_github( HEAD_REF main ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(DUVC_BUILD_SHARED ON) + set(DUVC_BUILD_STATIC OFF) +else() + set(DUVC_BUILD_SHARED OFF) + set(DUVC_BUILD_STATIC ON) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DDUVC_BUILD_SHARED=ON - -DDUVC_BUILD_STATIC=ON + -DDUVC_BUILD_SHARED=${DUVC_BUILD_SHARED} + -DDUVC_BUILD_STATIC=${DUVC_BUILD_STATIC} -DDUVC_BUILD_C_API=OFF -DDUVC_BUILD_CLI=OFF -DDUVC_BUILD_TESTS=OFF @@ -21,15 +29,24 @@ vcpkg_configure_cmake( -DDUVC_INSTALL_CMAKE_CONFIG=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/duvc-ctl") +vcpkg_fixup_pkgconfig() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/duvc-ctl) vcpkg_copy_pdbs() -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" -) +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/include") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +endif() +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/share") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +endif() + +file(INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") \ No newline at end of file diff --git a/ports/duvc-ctl/vcpkg.json b/ports/duvc-ctl/vcpkg.json index b9553a68453931..bd056b139fedeb 100644 --- a/ports/duvc-ctl/vcpkg.json +++ b/ports/duvc-ctl/vcpkg.json @@ -5,5 +5,15 @@ "description": "Windows DirectShow UVC camera control library", "homepage": "https://github.com/allanhanan/duvc-ctl", "license": "MIT", - "supports": "windows" + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/versions/baseline.json b/versions/baseline.json index 29dbc1b01606f4..7758c07d7ee11f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2596,6 +2596,10 @@ "baseline": "2.0.3", "port-version": 0 }, + "duvc-ctl": { + "baseline": "2.0.1", + "port-version": 0 + }, "dv-processing": { "baseline": "2.0.2", "port-version": 0 diff --git a/versions/d-/duvc-ctl.json b/versions/d-/duvc-ctl.json new file mode 100644 index 00000000000000..fd715f07da7fcd --- /dev/null +++ b/versions/d-/duvc-ctl.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "97dd1e5a642ee69388849c84db7aaa522d3af4a6", + "version": "2.0.1", + "port-version": 0 + } + ] +} From 7f0e0d0119f6d03156af96eef95df8ae00377235 Mon Sep 17 00:00:00 2001 From: Victor Romero Date: Sat, 10 Jan 2026 01:28:20 -0800 Subject: [PATCH 3/3] PR comments and update versions database --- ports/duvc-ctl/portfile.cmake | 15 ++++----------- ports/duvc-ctl/usage | 9 +-------- versions/d-/duvc-ctl.json | 2 +- 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/ports/duvc-ctl/portfile.cmake b/ports/duvc-ctl/portfile.cmake index 45b914ca61a46c..8ffe00d5ecfd41 100644 --- a/ports/duvc-ctl/portfile.cmake +++ b/ports/duvc-ctl/portfile.cmake @@ -6,13 +6,8 @@ vcpkg_from_github( HEAD_REF main ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(DUVC_BUILD_SHARED ON) - set(DUVC_BUILD_STATIC OFF) -else() - set(DUVC_BUILD_SHARED OFF) - set(DUVC_BUILD_STATIC ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" DUVC_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" DUVC_BUILD_SHARED) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" @@ -44,9 +39,7 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") endif() -file(INSTALL "${SOURCE_PATH}/LICENSE" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") \ No newline at end of file + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/duvc-ctl/usage b/ports/duvc-ctl/usage index d3d2b4651638cc..1245fcd2b97d14 100644 --- a/ports/duvc-ctl/usage +++ b/ports/duvc-ctl/usage @@ -1,11 +1,4 @@ duvc-ctl provides CMake targets: find_package(duvc CONFIG REQUIRED) - -for static linking: - - target_link_libraries(main PRIVATE duvc::core-static) - -Or for shared linking: - - target_link_libraries(main PRIVATE duvc::core-shared) + target_link_libraries(main PRIVATE $,duvc::core-static,duvc::core-shared>) diff --git a/versions/d-/duvc-ctl.json b/versions/d-/duvc-ctl.json index fd715f07da7fcd..32fc97de9e7fc3 100644 --- a/versions/d-/duvc-ctl.json +++ b/versions/d-/duvc-ctl.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "97dd1e5a642ee69388849c84db7aaa522d3af4a6", + "git-tree": "1c50cac55382709d8b9a5b22250fd6f37d9566e8", "version": "2.0.1", "port-version": 0 }