Skip to content

deps: Raise cmake minimum to 3.22.0 - #5394

Open
lgritz wants to merge 2 commits into
AcademySoftwareFoundation:mainfrom
lgritz:lg-cmakemin
Open

deps: Raise cmake minimum to 3.22.0#5394
lgritz wants to merge 2 commits into
AcademySoftwareFoundation:mainfrom
lgritz:lg-cmakemin

Conversation

@lgritz

@lgritz lgritz commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

This is still 5 years old, but versus the prior 3.18 minimum, it gets us presets, better support for Apple Silicon, CUDA, C++23, among other things.

There's not much simplification this lets us do right away (like, no catering to old cmake that we can get rid of), but it opens the door to future PRs where we can confidently use cmake features that were introduced between 3.19 and 3.22.

@lgritz

lgritz commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator Author

Any objections to raising the upcoming OIIO 3.2's cmake minimum to 3.22?
I will merge this tomorrow if there are no objections.

@jessey-git jessey-git left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think 3.22 is fine. I quickly looked at some other dependencies like Alembic and OpenUSD:

USD 25.05 or greater (May 2025) already requires 3.26.
USD 26.08 or greater (July 2026) requires 3.27.
Alembic 1.8.11 or greater (March 2026) then you need at least 3.29.

So chances are the ecosystem has access to the more recent 3.x versions already.

@lgritz

lgritz commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator Author

Should I go higher?

I didn't have a particularly principled reason for picking that specific release -- I wanted to pull our minimum in by a bit, so I looked at what version was released ~5 years back, and checked the release notes of the next couple newer versions to see if there was anything slightly newer that would be a shame not to have, and didn't see anything compelling. So that's where 3.22 came from, really.

I suppose pretty much everybody in VFX has to build USD, and everybody outside of VFX is probably on a much newer cmake than that. Aiming for a "three years back" compatibility window would be 3.27 (same as USD). MaterialX is 3.26.

@jessey-git

Copy link
Copy Markdown
Contributor

Given the currently known/upcoming needs from CUDA and libktx, 3.22 is sufficient I think. But 3.23 does offer a few more CUDA related items and that release still fits nicely into the 5year mark as of Aug 2026. I don't think many would complain about nudging further to 3.23 but anything beyond that does seems superfluous at the moment.

@jessey-git

Copy link
Copy Markdown
Contributor

errr, I was looking at the wrong date for 3.23 release I think. I still wouldn't complain about moving to that version even if it's slightly less than 5 years though.

@lgritz

lgritz commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator Author

Our hard rule is 3 years. But we try to extend it to at least 5 unless there is a fairly compelling reason to make it shorter, like if something released only 3 or 4 years ago has a feature or behavior that is really critical for us to depend on.

Our 3.2 is primarily "next year's release," so I think we're close enough to call it 5 years if we bump to 3.23.

lgritz added 2 commits August 16, 2026 21:11
This is still 5 years old, but versus the prior 3.18 minimum, it gets
us presets, better support for Apple Silicon, CUDA, C++23, among other
things.

There's not much simplification this lets us do right away, but it
opens the door to future PRs where we can confidently use cmake
features that were introduced between 3.19 and 3.22.

Signed-off-by: Larry Gritz <lg@larrygritz.com>
Signed-off-by: Larry Gritz <lg@larrygritz.com>
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