fix(cmake): update FetchContent fallback GIT_TAGs to current ecosystem versions#510
Merged
Merged
Conversation
…m versions Replace the hardcoded v0.1.0 default with per-dependency version tags that match the current ecosystem releases. The previous default was outdated — common_system is at v0.2.0 and thread_system at v0.3.1, meaning FetchContent fallback would fetch incompatible versions. Add a per-dependency _UNIFIED_DEFAULT_TAG map and emit a warning when an unknown dependency falls back to v0.1.0, making version drift visible rather than silent. Closes #509
Contributor
Performance Regression Check
Threshold: >5% regression triggers warning |
kcenon
added a commit
that referenced
this pull request
Apr 13, 2026
…m versions (#510) Replace the hardcoded v0.1.0 default with per-dependency version tags that match the current ecosystem releases. The previous default was outdated — common_system is at v0.2.0 and thread_system at v0.3.1, meaning FetchContent fallback would fetch incompatible versions. Add a per-dependency _UNIFIED_DEFAULT_TAG map and emit a warning when an unknown dependency falls back to v0.1.0, making version drift visible rather than silent. Closes #509
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
Replace the hardcoded
v0.1.0default FetchContent GIT_TAG with per-dependency version tags matching current ecosystem releases. Add a warning when an unknown dependency falls back to the generic default.Change Type
Why
Related Issues
Motivation
When
find_packagefails and FetchContent is used as a fallback, the defaultGIT_TAG v0.1.0is used for all dependencies. This is outdated:common_systemis atv0.2.0— APIs may have changed sincev0.1.0thread_systemis atv0.3.1— significant changes between versionsFetching incompatible versions silently can cause build failures or ABI mismatches.
Where
Files Changed
cmake/UnifiedDependencies.cmake_UNIFIED_DEFAULT_TAG_*map, update GIT_TAG resolution logicHow
Implementation
_UNIFIED_DEFAULT_TAG_<dep>variables for all 7 ecosystem libraries with current release versionsunified_find_dependency()to look up the per-dependency default firstv0.1.0with a warning for unknown dependenciesTest Plan
unified_find_dependency(common_system REQUIRED)without explicit GIT_TAG should usev0.2.0unified_find_dependency(thread_system GIT_TAG v0.4.0)should use the explicit tag (no change)unified_find_dependency(unknown_dep)should warn about missing default tag