-
Notifications
You must be signed in to change notification settings - Fork 1.6k
cmake: update minimum_required cmake version #4848
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cmake: update minimum_required cmake version #4848
Conversation
Thanks - I'm always a bit hesitant when it comes to tightening minimum version requirements, as at least "historically" some users were unable to update the systems they worked on. The original CMakeLists.txt under lapack-netlib are not used when building LAPACK as a part of OpenBLAS, so I think this can be deferred to 0.3.29 (?) |
This reverts commit 5b07ec6.
Ah, I saw some In that case let me use the most conservative option: |
@martin-frbg @haampie I'd suggest to bump the min version of CMake, rather than messing around with policies. Using ancient versions of CMake adds to the technical debt and increases the maintenance burden. CMake 2.8.5 (currently required by OpenBLAS) is truly prehistoric, released circa 2010. A good indicator of the oldest allowable version of CMake would be across old mainstream long-term linux distros (Red Hat, Ubuntu, Debian) that are still within their normal support period:
This suggests CMake 3.16 as the oldest baseline version. Anything older than that has a rapidly diminishing number of users. (Similar comment applies to ancient versions of GCC and Clang. In my view, the required workarounds for out-of-support compilers are simply not worth it.) |
turns out that updating the minimum required cmake version (or adding even more cmp... policies) is also necessary for cross-compilations with the current Android NDK (r27), so I've finally hacked conradsnicta's suggestion into your PR branch |
great |
CMP0042
to NEW
It's better to enable https://cmake.org/cmake/help/latest/policy/CMP0042.html#policy:CMP0042 than to explicitly set CMAKE_MACOSX_RPATH, since users may want to set the latter from the command line.