Skip to content

Accept only the same minor version in ufcxConfigVersion.cmake - #922

Merged
jhale merged 2 commits into
mainfrom
jhale/cmake-same-minor-version
Oct 18, 2026
Merged

jhale merged 2 commits into
mainfrom
jhale/cmake-same-minor-version

Conversation

@jhale

@jhale jhale commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

ufcxConfigVersion.cmake used COMPATIBILITY AnyNewerVersion, so find_package(ufcx 0.12) in DOLFINx accepts ufcx 0.13. ufcx.h is the interface between generated kernels and DOLFINx and changes between minor versions, so a newer minor is not compatible. SameMinorVersion matches this, and FEniCS/basix#1103 and FEniCS/dolfinx#4661 make the same change for Basix and DOLFINx.

I checked with CMake 4.4: requests for 0.12 and 0.12...<0.13 both accept 0.12.0.0, 0.12.0 and 0.12.1, and both reject 0.13.0. DOLFINx requests a single version from ufcx, which SameMinorVersion has always handled. Range support in SameMinorVersion needs CMake 3.21, so this also raises the minimum from 3.19 to 3.21.

After this, the post-release main bumps of FFCx and DOLFINx have to be paired PRs, because DOLFINx main's find_package(ufcx 0.12) stops configuring once ufcx is at 0.13. FEniCS/dolfinx#4660 documents this.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JudYk8UecTQyirGsLsHUN2

AnyNewerVersion lets find_package(ufcx 0.12) accept ufcx 0.13, whose
ufcx.h interface differs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JudYk8UecTQyirGsLsHUN2
SameMinorVersion supports version ranges from CMake 3.21.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JudYk8UecTQyirGsLsHUN2
@jhale
jhale added this pull request to the merge queue Oct 18, 2026
Merged via the queue into main with commit de8b64a Oct 18, 2026
18 checks passed
@jhale
jhale deleted the jhale/cmake-same-minor-version branch October 18, 2026 16:28
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.

1 participant