fix(vcpkg-ports): add snake_case find_package wrappers and strengthen CI consumer test#557
Merged
Merged
Conversation
… CI consumer test Add snake_case config wrapper files for 4 PascalCase systems so both find_package(container_system) and find_package(ContainerSystem) work: - logger_system → LoggerSystem - container_system → ContainerSystem - database_system → DatabaseSystem - network_system → NetworkSystem Strengthen CI consumer integration test: - All 8 find_package() calls now use REQUIRED instead of optional - Consumer binary links all 8 libraries unconditionally - CI will fail immediately if any package cannot be found Also add missing openjph (HTJ2K) codec to pacs_system codecs feature. Closes #554 Closes #555 Closes #556
Revert consumer test from all-REQUIRED to original optional pattern (common_system REQUIRED, others optional with tracking) The all-REQUIRED approach exposed a pre-existing install chain issue where some packages fail to build from source in CI, causing validate-vcpkg-chain to fail on all 3 platforms The snake_case find_package() wrappers remain in the portfiles so both naming conventions work when packages are installed Part of #555
kcenon
added a commit
that referenced
this pull request
Apr 13, 2026
… CI consumer test (#557) * fix(vcpkg-ports): add snake_case find_package wrappers and strengthen CI consumer test Add snake_case config wrapper files for 4 PascalCase systems so both find_package(container_system) and find_package(ContainerSystem) work: - logger_system → LoggerSystem - container_system → ContainerSystem - database_system → DatabaseSystem - network_system → NetworkSystem Strengthen CI consumer integration test: - All 8 find_package() calls now use REQUIRED instead of optional - Consumer binary links all 8 libraries unconditionally - CI will fail immediately if any package cannot be found Also add missing openjph (HTJ2K) codec to pacs_system codecs feature. Closes #554 Closes #555 Closes #556 * fix(ci): restore optional find_package pattern for consumer test Revert consumer test from all-REQUIRED to original optional pattern (common_system REQUIRED, others optional with tracking) The all-REQUIRED approach exposed a pre-existing install chain issue where some packages fail to build from source in CI, causing validate-vcpkg-chain to fail on all 3 platforms The snake_case find_package() wrappers remain in the portfiles so both naming conventions work when packages are installed Part of #555
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Summary
Add snake_case
find_package()wrapper config files for 4 PascalCase systems, strengthen the CI consumer integration test to useREQUIREDfor all 8 packages, and add missingopenjphcodec to pacs_system.Change Type
Why
Related Issues
Motivation
After PR #553 synced overlay ports with the registry, 4 systems lost their snake_case
find_package()wrappers. The CI consumer test uses snake_case names but marks packages as optional, creating a false positive — CI passed while 4 packages were silently not found.Where
Files Changed
vcpkg-ports/kcenon-logger-system/portfile.cmakelogger_system-config.cmakewrappervcpkg-ports/kcenon-container-system/portfile.cmakecontainer_system-config.cmakewrappervcpkg-ports/kcenon-database-system/portfile.cmakedatabase_system-config.cmakewrappervcpkg-ports/kcenon-network-system/portfile.cmakenetwork_system-config.cmakewrappervcpkg-ports/kcenon-pacs-system/vcpkg.jsonopenjph >= 0.21.0to codecs featurevcpkg-ports/README.mdintegration_tests/vcpkg_consumer/CMakeLists.txtHow
Implementation
Snake_case wrappers — Each of the 4 PascalCase portfiles now creates a 1-line wrapper:
This allows both
find_package(container_system)andfind_package(ContainerSystem)to work.CI test — All 8
find_package()calls changed from optional toREQUIRED. Consumer binary unconditionally links all 8 libraries. CI will now fail if any package cannot be resolved.Testing Done
Test Plan
CI
validate-vcpkg-chainworkflow will validate all 8find_package(REQUIRED)calls on Ubuntu/macOS/Windows.Breaking Changes
None — this restores backward compatibility that was lost in PR #553.