AcademySoftwareFoundation / Imath

Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics
https://imath.readthedocs.io
BSD 3-Clause "New" or "Revised" License
356 stars 104 forks source link

Bump required cmake to 3.14 #373

Closed cary-ilm closed 4 months ago

cary-ilm commented 4 months ago

This should have gone into PR #366, since file(CREATE_LINK) was introduced in cmake 3.14, not sure how it slipped through the CI.

lgritz commented 4 months ago

I'm fine with this for main. In fact, if we're going to bump cmake, I would recommend going to 3.15 -- among other things, the new-to-3.15 -B and -S arguments make for much simpler instructions when explaining how to build the project to people unfamiliar with cmake (no more "mkdir build ; cd build ; cmake .." dance).

But I think we should be very careful about backporting this to released branches. Most projects try to avoid changing minimal build dependency requirements for existing release families.

kmilos commented 4 months ago

But I think we should be very careful about backporting this to released branches. Most projects try to avoid changing minimal build dependency requirements for existing release families.

True, but at the same time, this is kinda low risk as already satisfied on all distros shipping Imath 3.1.x (or still in LTS, like Ubuntu 20.04, so can make it 3.16 even):

https://repology.org/project/imath/versions https://repology.org/project/cmake/versions

cary-ilm commented 4 months ago

I'm not sure what to do regarding a v3.1.11 release. The risk seems low, since it's likely that anyone restricted to a pre-3.14 CMake won't adopt a new release of Imath, but possibly that's not a good assumption.

The next minor release of Imath might be quite a while, I'd prefer to move forward, but if that's bad policy, I'm fine being conservative and not release this in a patch.

cary-ilm commented 4 months ago

I decided to wait for the next minor release for this, so it's not going into 3.1.11.

And I'll submit another bump to 3.15 that also updates the documentation in reference to -S and -B.