Skip to content

[vcpkg baseline][opencv4] Add features to control hdf5 and tesseract dependencies, disable libiconv - #48492

Merged
Billy O'Neal (BillyONeal) merged 16 commits into
microsoft:masterfrom
dg0yt:opencv4
Dec 5, 2025
Merged

[vcpkg baseline][opencv4] Add features to control hdf5 and tesseract dependencies, disable libiconv#48492
Billy O'Neal (BillyONeal) merged 16 commits into
microsoft:masterfrom
dg0yt:opencv4

Conversation

@dg0yt

@dg0yt Kai Pastor (dg0yt) commented Nov 26, 2025

Copy link
Copy Markdown
Contributor

Potentially disruptive:

  • Users must explicitly ask for feature hdf or text instead of contrib.
  • Drive-by fix: disable uncontrolled libiconv dependency in contrib/wechat_qrcode.
    Fix openimageio:arm64-windows-static-md baseline regression. Cf. https://dev.azure.com/vcpkg/public/_build/results?buildId=123745&view=logs&j=4df292c1-f579-5a84-c7d0-98b54b894473 et al.
    (This is a change for system with iconv in libc. But for those systems users could still override the option via triplet. OTOH it would take at another extra feature to make libiconv an explicit option, controlling the LGPL dependency.)

Benefits:

  • The new features are true capabilities, unlike contrib.
  • Removes redundant/wrong encoding of hdf5/tesseract platform support from opencv4.
  • Unblocks other capabilities from contrib for platforms excluded by hdf5 or tesseract.
  • Enables vcpkg-ci-opencv=pass requirement in ci baseline for arm64 windows.

Skipping opencv in feature tests because it adds CI time without adding significant value: Each feature maps to a feature in opencv4. For opencv4, features are already tested separately (opencv4[core,<feature>]). But used as a dependency from opencv, default-features are added (opencv4[<feature>]), so the tests cannot share binary artifacts.

@dg0yt
Kai Pastor (dg0yt) force-pushed the opencv4 branch 2 times, most recently from 71e241c to 471b37d Compare November 26, 2025 23:02
Comment thread ports/opencv4/vcpkg.json
@dg0yt Kai Pastor (dg0yt) changed the title [opencv4] More arm windows [opencv4] Add features to control hdf5 and tesseract dependencies Nov 27, 2025
@dg0yt

Copy link
Copy Markdown
Contributor Author

This is unexpected (vcpkg-ci-openimageio:arm64-osx):

CMake Warning at /Users/vcpkg/Data/work/1/s/scripts/buildsystems/vcpkg.cmake:908 (_find_package):
  Found package configuration file:

    /Users/vcpkg/Data/installed/arm64-osx/share/Qt63DQuickLogic/Qt63DQuickLogicConfig.cmake

  but it set Qt63DQuickLogic_FOUND to FALSE so package "Qt63DQuickLogic" is
  considered to be NOT FOUND.  Reason given by package:

  The following imported targets are referenced, but are missing:
  Qt6::3DLogic

Call Stack (most recent call first):
  /opt/homebrew/share/cmake/Modules/CMakeFindDependencyMacro.cmake:78 (find_package)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6Qml/QmlPlugins/Qt63DQuickLogicpluginDependencies.cmake:19 (_qt_internal_find_qt_dependencies)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6Qml/QmlPlugins/Qt63DQuickLogicpluginConfig.cmake:55 (include)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6/QtPublicPluginHelpers.cmake:680 (include)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6Qml/Qt6QmlPlugins.cmake:6 (__qt_internal_include_qml_plugin_packages)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6Qml/Qt6QmlConfig.cmake:204 (include)
  /Users/vcpkg/Data/work/1/s/scripts/buildsystems/vcpkg.cmake:908 (_find_package)
  /opt/homebrew/share/cmake/Modules/CMakeFindDependencyMacro.cmake:78 (find_package)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6VirtualKeyboard/Qt6VirtualKeyboardDependencies.cmake:45 (_qt_internal_find_qt_dependencies)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6VirtualKeyboard/Qt6VirtualKeyboardConfig.cmake:43 (include)
  /Users/vcpkg/Data/work/1/s/scripts/buildsystems/vcpkg.cmake:908 (_find_package)
  /opt/homebrew/share/cmake/Modules/CMakeFindDependencyMacro.cmake:78 (find_package)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6/QtPublicDependencyHelpers.cmake:142 (find_dependency)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6Gui/Qt6QVirtualKeyboardPluginDependencies.cmake:19 (_qt_internal_find_qt_dependencies)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6Gui/Qt6QVirtualKeyboardPluginConfig.cmake:55 (include)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6/QtPublicPluginHelpers.cmake:557 (include)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6Gui/Qt6GuiPlugins.cmake:13 (__qt_internal_include_plugin_packages)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6Gui/Qt6GuiConfig.cmake:201 (include)
  /Users/vcpkg/Data/work/1/s/scripts/buildsystems/vcpkg.cmake:908 (_find_package)
  /Users/vcpkg/Data/installed/arm64-osx/share/Qt6/Qt6Config.cmake:233 (find_package)
  /Users/vcpkg/Data/work/1/s/scripts/buildsystems/vcpkg.cmake:908 (_find_package)
  /opt/homebrew/share/cmake/Modules/CMakeFindDependencyMacro.cmake:78 (find_package)
  /Users/vcpkg/Data/installed/arm64-osx/share/opencv4/OpenCVModules.cmake:50 (find_dependency)
  /Users/vcpkg/Data/installed/arm64-osx/share/opencv4/OpenCVConfig.cmake:126 (include)
  /Users/vcpkg/Data/installed/arm64-osx/share/opencv/vcpkg-cmake-wrapper.cmake:3 (_find_package)
  /Users/vcpkg/Data/work/1/s/scripts/buildsystems/vcpkg.cmake:862 (include)
  /opt/homebrew/share/cmake/Modules/CMakeFindDependencyMacro.cmake:78 (find_package)
  /Users/vcpkg/Data/installed/arm64-osx/share/openimageio/OpenImageIOConfig.cmake:45 (find_dependency)
  /Users/vcpkg/Data/work/1/s/scripts/buildsystems/vcpkg.cmake:908 (_find_package)
  CMakeLists.txt:6 (find_package)

Comment thread scripts/ci.baseline.txt
Comment on lines -404 to -405
# 120 min build time for libjxl arm64-uwp-rel, reason unknown
libjxl:arm64-uwp=skip

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this is outdated.

@dg0yt
Kai Pastor (dg0yt) marked this pull request as draft December 3, 2025 20:20
@dg0yt

This comment was marked as resolved.

@dg0yt
Kai Pastor (dg0yt) marked this pull request as ready for review December 3, 2025 20:22
Comment thread scripts/ci.feature.baseline.txt Outdated

halide = skip
llvm = skip
opencv = skip # actual feature test is opencv4

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this will disable feature test for anything that depends on opencv as well?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe I have seen these other two skip lines too often, recently ;-)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure I understand but it seems ok now 🙃

@dg0yt Kai Pastor (dg0yt) changed the title [opencv4] Add features to control hdf5 and tesseract dependencies [vcpkg baseline][opencv4] Add features to control hdf5 and tesseract dependencies Dec 4, 2025
@dg0yt Kai Pastor (dg0yt) changed the title [vcpkg baseline][opencv4] Add features to control hdf5 and tesseract dependencies [vcpkg baseline][opencv4] Add features to control hdf5 and tesseract dependencies, disable libiconv Dec 4, 2025

@BillyONeal Billy O'Neal (BillyONeal) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@BillyONeal
Billy O'Neal (BillyONeal) merged commit 7b69ba9 into microsoft:master Dec 5, 2025
17 checks passed
@dg0yt
Kai Pastor (dg0yt) deleted the opencv4 branch December 5, 2025 05:18
Ian Reinhart Geiser (geiseri) pushed a commit to geiseri/vcpkg that referenced this pull request Dec 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants