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

Establish minimum CMake version 3.15 #1143

Merged
merged 1 commit into from
Aug 16, 2024
Merged

Conversation

mwtoews
Copy link
Contributor

@mwtoews mwtoews commented Aug 16, 2024

This PR does the following:

  • Sets CMake 3.15 as the minimum version
  • Cleans up some old logic used to support older version of CMake
  • Updates CI testing with a range of versions 3.15 to 3.29

Some rationale for upgrading CMake versions:

  • MSVC with Ninja builds repeat "cl : Command line warning D9025 : overriding '/W3' with '/W4'", which makes seeing "real" warnings difficult. This is the same issue and fix described with handle MSVC flag warnings #936. See policy CMP0092, which was attempted with 1df959c, but it seems to only take effect with cmake_minimum_required(VERSION 3.15), thus the message finally goes away!
  • CMake 3.15 is over 5 years old, released July 17, 2019. It is also currently the same minimum version used for PROJ and GDAL.
  • There are several new features upgrading from 3.13 to 3.15 (e.g. here), but these features are not used in this PR.

Downside:

  • This version of CMake is not available as a system package for Linux distros older than Ubuntu 18.04 or Debian 10 (Buster). But this is not a show-stopper on older system, since modern cmake versions can be installed via pip install cmake (using PyPI).

If a compelling case should be made to keep CMake at 3.13, then alternatively:

cmake_minimum_required(VERSION 3.13..3.15)

(docs) can be used to adjust policy settings for 3.15, where feasible.


I think this PR is fit to be merged for GEOS 3.13. CMake 3.13 has been the minimum for several releases (since 3.10). However, if deemed too late in the development cycle (or someone really wants version 3.13 for both CMake and GEOS) then hold this merge until after the 3.13 branch is made. I won't mind.

@pramsey pramsey self-requested a review August 16, 2024 15:38
@robe2 robe2 added the Breaking label Aug 16, 2024
@robe2 robe2 added this to the 3.13.0 milestone Aug 16, 2024
@jmckenna
Copy link

thanks @mwtoews ! Indeed I've been applying my PR#996 for a year, so I'm very happy that other packagers are hitting those warnings now, and my voice is heard (through yours ha!). Thanks again.

@pramsey pramsey merged commit d9422f5 into libgeos:main Aug 16, 2024
28 checks passed
@mwtoews mwtoews deleted the cmake-3.15 branch August 17, 2024 22:02
mwtoews added a commit that referenced this pull request Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants