deps: Raise cmake minimum to 3.22.0 - #5394
Conversation
|
Any objections to raising the upcoming OIIO 3.2's cmake minimum to 3.22? |
jessey-git
left a comment
There was a problem hiding this comment.
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.
|
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. |
|
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. |
|
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. |
|
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. |
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>
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.