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

Consider using cmake features up to 3.28.3 on Ionic #432

Closed
scpeters opened this issue Jun 3, 2024 · 4 comments
Closed

Consider using cmake features up to 3.28.3 on Ionic #432

scpeters opened this issue Jun 3, 2024 · 4 comments
Labels
enhancement New feature or request 🏛️ ionic Gazebo Ionic

Comments

@scpeters
Copy link
Member

scpeters commented Jun 3, 2024

Context: cmake versions provided by Ubuntu

Desired behavior

We currently require cmake 3.22.1 on Ionic (see #350). Since Ionic will not support Jammy with CI or binary builds, we could consider requiring a higher version, up to 3.28.3. If there is not a compelling reason to do so, there could be some value in not intentionally making it more difficult for people to build Ionic from source on 22.04.

Please suggest compelling cmake features between 3.22.1 and 3.28.3 and we will consider increasing the minimum required cmake version for Ionic.

Alternatives considered

Implementation suggestion

Additional context

@scpeters scpeters added enhancement New feature or request 🏛️ ionic Gazebo Ionic labels Jun 3, 2024
@mjcarroll
Copy link
Contributor

Helpfully, here are the release notes for CMake releases: https://cmake.org/cmake/help/latest/release/index.html

I skimmed through and didn't see anything particularly compelling in the post 3.22 releases. There are a few things related to things we don't use (FetchContent and C++ modules mainly), but could be interesting in the future.

@j-rivero
Copy link
Contributor

j-rivero commented Jun 4, 2024

This is probably the best summary of new features that we can find https://cliutils.gitlab.io/modern-cmake/chapters/intro/newcmake.html.

The debugger with ADP support in 3.27 could be something cool to use but does not require that we expose the requirement in our CMakeLists.txt. As @mjcarroll mentioned, the C++20 modules in 3.28 could be a good addition but we probably can live without them. Also better support for header-only libraries and better integration of fetchcontent which are not widely used by us.

@scpeters
Copy link
Member Author

scpeters commented Jun 4, 2024

thanks, @j-rivero! that's also pointed me to some new features between 3.10 and 3.22 that may be useful in #350

@scpeters
Copy link
Member Author

we have entered feature freeze, so I don't think we will change the required cmake version for Ionic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request 🏛️ ionic Gazebo Ionic
Projects
Archived in project
Development

No branches or pull requests

3 participants