Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.15.0
-
None
-
None
-
None
Description
There has been a CMake modernization PR and an issue DISPATCH-1268. Many CMake modernizations could not be applied due to RHEL 6 support. Both RHEL 6 and 7 bundle cmake 2.8.12.2. Ubuntu and Fedora do not suffer from ancient CMake.
Can we raise the minimum required CMake version without impacting RHEL 7/8?
- There is cmake 3.14.6 and cmake 3.17.5 available in EPEL for aarch64 and x86_64, respectively. The full package name (for x86_64) is cmake3-3.17.5-1.el7.x86_64.rpm.
- There is cmake 3.6.2 for RHEL 7 available as part of the llvm-toolset-9-rhel7 repository. The full package name is llvm-toolset-9.0-cmake-3.6.2-12.el7.x86_64.rpm. There is also llvm-toolset-10, but it has the same CMake version in it. Docs.
On the RHEL 8 front, RHEL 8.3 brings cmake-3.11.4-3.el8.x86_64.rpm and it does not have any CMake in its EPEL. Upcoming RHEL 8.4 is promised to bring CMake 3.18.
Given the info I collected above, it seems to me that Dispatch can easily go to CMake 3.11 in short time, and will be able to further leap to CMake 3.12 (the one that improved locating Python) when RHEL 8.4 is out. Depending on the situation on other platforms, even newer version than 3.12 might be possible then. IMO we should aim for CMake 3.15, because it improved locating Python (prior versions look for newest Python on entire PATH, since 3.15 its possible to look for first satisfying. That helps with Virtual environments a lot.
It is necessary to check that the version of CMake is also available on AArch64 and on IBM/z.
edit: RHEL 8.4 kept the promise, and there is CMake 3.20 in RHEL 8.5! And afaik we don't care about aarch64 and ibmz enough to hold back on something soo helpful as this.
Attachments
Issue Links
- is a clone of
-
DISPATCH-1268 Use more modern idiomatic cmake
- Closed
- is a parent of
-
DISPATCH-2361 CMake Deprecation Warning at CMakeLists.txt:20 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake.
- Open
- relates to
-
PROTON-2217 Python detection logic prefers python2 over python3 when both are installed
- Closed