[ 
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]

Reply via email to