Fix CMake export for external LZ4; doc vcpkg overlays#174
Conversation
Bump version to 0.69.1. Export experimental chunked-compression and LZ4 CMake options for downstream consumers and ensure lz4 is found if needed. Update documentation to clarify vcpkg usage and overlay ports for experimental features. Update version history accordingly.
There was a problem hiding this comment.
Pull request overview
This PR fixes libCZI’s installed CMake package configuration so downstream find_package(libCZI CONFIG REQUIRED) correctly resolves an external LZ4 dependency when experimental chunked compression is enabled, and it updates the docs to better describe vcpkg usage (including overlay ports). It also bumps the project version and records the change in the version history.
Changes:
- Update
libCZIConfig.cmake.into conditionallyfind_dependency(lz4 CONFIG REQUIRED)when the installed/exported targets may referenceLZ4::.... - Expand build documentation with a dedicated vcpkg section, including recommended overlay-port workflow for experimental features.
- Bump version to
0.69.1and add an entry to the version history.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| docs/source/pages/version_history.md | Adds the 0.69.1 entry documenting the fix and vcpkg overlay-port docs. |
| docs/source/pages/building.rst | Adds/expands vcpkg guidance and documents overlay ports for experimental feature consumption. |
| CMakeLists.txt | Bumps project version to 0.69.1. |
| cmake/libCZIConfig.cmake.in | Preserves build flags for chunked compression / external LZ4 and conditionally finds lz4 before importing targets. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #174 +/- ##
=======================================
Coverage 67.91% 67.91%
=======================================
Files 99 99
Lines 13467 13467
=======================================
Hits 9146 9146
Misses 4321 4321
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Description
This PR fixes the installed CMake package configuration for builds where experimental chunked compression is enabled with an external LZ4 package.
When libCZI is built with
LIBCZI_BUILD_EXPERIMENTAL_CHUNKED_COMPRESSION=ONandLIBCZI_BUILD_PREFER_EXTERNALPACKAGE_LZ4=ON, the exported libCZI target can reference an LZ4 CMake target. The generatedlibCZIConfig.cmakenow preserves that build-state and callsfind_dependency(lz4 CONFIG REQUIRED)before importinglibCZITargets.cmake.The PR also documents vcpkg usage, including the recommended overlay-port approach for consuming experimental libCZI features, and bumps the version to
0.69.1.Type of change
How Has This Been Tested?
Configured libCZI with the vcpkg toolchain and:
Verified that the generated libCZIConfig.cmake contains the expected conditional find_dependency(lz4 CONFIG REQUIRED).
Checklist: