Uploaded image for project: 'Qpid Dispatch'
  1. Qpid Dispatch
  2. DISPATCH-1942

Use modern idiomatic cmake 3.x

Agile BoardAttach filesAttach ScreenshotAdd voteVotersStop watchingWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

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

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            jdanek Jiri Daněk
            jdanek Jiri Daněk

            Dates

              Created:
              Updated:

              Slack

                Issue deployment