[
https://issues.apache.org/jira/browse/DISPATCH-1942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jiri Daněk updated DISPATCH-1942:
---------------------------------
Description:
There has been a [CMake modernization
PR|https://github.com/apache/qpid-dispatch/pull/288] 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. Ubunu 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|https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/c/] 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|https://access.redhat.com/documentation/en-us/red_hat_developer_tools/1/html-single/using_llvm_10.0.1_toolset/index].
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|https://bugzilla.redhat.com/show_bug.cgi?id=1756974].
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|https://cmake.org/cmake/help/v3.12/release/3.12.html#modules]) when RHEL
8.4 is out. Depending on the situation on other platforms, even newer version
than 3.12 might be possible then.
was:
Dismissing the whole CMake modernization PR [1] is IMO too harsh. Much
modernization is possible, even if we maintain CMake 2.8 compatibility, and
that modernization is beneficial for overall sanity of the build code, as the
example of Qpid Proton project shows. [2], [3]
RHEL 6.10 bundles cmake 2.8.12.2-4.el6 and RHEL 7.6 also has cmake
{{2.8.12.2}}. Therefore, the first step would be to change minimum required
version from {{2.6.2}} to this.
{code}
cmake_minimum_required(VERSION 2.8.12)
{code}
The indentation changes are of course harmless in any case and easy to make. I
am not eager to bundle the whitespace change, as it is disruptive to merging
work in progress (if git not configured to ignore whitespace).
[1] https://github.com/apache/qpid-dispatch/pull/288
[2] https://issues.apache.org/jira/browse/PROTON-1878 Improve cmake modularity
- split out library detection code
[3] https://issues.apache.org/jira/browse/PROTON-1879 Update cmake so that it
uses the easier to use imported target feature
> Use modern idiomatic cmake 3.x
> ------------------------------
>
> Key: DISPATCH-1942
> URL: https://issues.apache.org/jira/browse/DISPATCH-1942
> Project: Qpid Dispatch
> Issue Type: Improvement
> Reporter: Jiri Daněk
> Assignee: Jiri Daněk
> Priority: Minor
> Fix For: 1.13.0
>
>
> There has been a [CMake modernization
> PR|https://github.com/apache/qpid-dispatch/pull/288] 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. Ubunu 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|https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/c/] 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|https://access.redhat.com/documentation/en-us/red_hat_developer_tools/1/html-single/using_llvm_10.0.1_toolset/index].
> 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|https://bugzilla.redhat.com/show_bug.cgi?id=1756974].
> 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|https://cmake.org/cmake/help/v3.12/release/3.12.html#modules]) when
> RHEL 8.4 is out. Depending on the situation on other platforms, even newer
> version than 3.12 might be possible then.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]