Skip to content
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

TriBITS: Upgrade minimum CMake version to 3.28 or newer? #13548

Open
bartlettroscoe opened this issue Oct 24, 2024 · 5 comments
Open

TriBITS: Upgrade minimum CMake version to 3.28 or newer? #13548

bartlettroscoe opened this issue Oct 24, 2024 · 5 comments
Labels
type: enhancement Issue is an enhancement, not a bug

Comments

@bartlettroscoe
Copy link
Member

CC: @trilinos/framework, @sebrowne

Enhancement

It has been since Feb 2023 that Trilinos upgraded the min CMake version to 3.23 (see #11583).
CMake 3.23.0 was released in March 2022 (see https://github.com/Kitware/CMake/releases/tag/v3.23.0).

Given that CMake 3.28 was released in Dec 2023 (see https://github.com/Kitware/CMake/releases/tag/v3.28.0), it seems reasonable to upgrade the minimum CMake version of Trilinos and TriBITS to CMake 3.28 or newer.

@bartlettroscoe bartlettroscoe added the type: enhancement Issue is an enhancement, not a bug label Oct 24, 2024
@cwpearson
Copy link
Contributor

I'm happy to defer to the framework team either way, however this might only be worth doing if 3.28 provides some fixes or quality-of-life improvements that are useful to the project.

@bartlettroscoe
Copy link
Member Author

bartlettroscoe commented Oct 29, 2024

As per:

CMake (which includes the executable tools cmake, ctest and cpack with each CMake installation) continues to evolve and improve fairly rapidly from release to release.

We want to do yearly upgrades of CMake so that:

  • We get to take advantage of better defaults
  • Allow developers and users to take advantage of newer features and fixes

That helps to reduce technical debt in the build system incrementally.

And the CMake release notes don't always highlight how big/useful a new version of CMake can be.

@cwpearson, is there a good reason to not to regular yearly upgrades of CMake?

@jjellio
Copy link
Contributor

jjellio commented Nov 11, 2024

I'm less worried about the new features, but more about CMake deprecating something. That said, on ATS-4, I regularly build from source (Via spack) and use whatever the latest cmake is from there. There are always some policy warnings.

Chasing the latest version can create a real pain point if you are trying to do things on older platforms.

@bartlettroscoe
Copy link
Member Author

Chasing the latest version can create a real pain point if you are trying to do things on older platforms.

@jjellio, what are the pain points from using newer CMake versions on older platforms (other than having to build CMake from source in case the admins are not installing newer CMake versions for you)?

NOTE: AUE currently seems to be supporting CMake 3.29.4.

@jhux2
Copy link
Member

jhux2 commented Nov 11, 2024

Updating on a regular basis seems like a good idea, if nothing else to keep ahead of whatever minimum cmake version that downstream apps require.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement Issue is an enhancement, not a bug
Projects
None yet
Development

No branches or pull requests

4 participants