[PROJ] Bump CMake version for PROJ 7.0

Greg Troxel gdt at lexort.com
Fri Jan 31 09:03:16 PST 2020


Howard Butler <howard at hobu.co> writes:

> https://cliutils.gitlab.io/modern-cmake/chapters/intro/installing.html#cmake-default-versions is a good breakdown. 

That leaves out pkgsrc, FreeBSD, OpenBSD -- but those all tend to be
pretty up to date.

Reading the list, it seems that the breakpoints are (leaving out a few
things that are so old that people in general won't be able to compile
modern things):

3.10.2		Ubuntu 18.04 (which is not really that long ago)
3.11.4          CentOS 8
3.12.{1,4}	lots of things

Interestingly, 3.10.2 was only released in Jannuary of 2018, barely two
years ago.

>> My opinion is that it's not a good thing to increase the required
>> version of dependencies for no good reason, unless it is truly free.
>> So I would look at the places one might want to build proj and see how
>> old cmake might be.
>
> The cost of old cmake configuration is a consideration too. PDAL, for
> example, was one of the first geospatial projects to be CMake-only,
> and our configuration has a lot of cruft as CMake continued to rapidly
> evolve in fits and starts through 3.0 – 3.10. Packagers have
> complained about missing features, misbehavior, and frustration,
> especially for older configurations. It would be best for PROJ to not
> proliferate old configuration in support of old CMake if it can be
> avoided.

Agreed - I merely meant that there was a cost to cutting off old
versions, and that should be balanced with the gains from cleanup.

> Compatibility with no disruption of how autconf was working was the
> desire expressed previously. Since PROJ is still maintaining its
> autconf configuration, I thought the minimum CMake version could be
> significantly bumped. Are the packagers using CMake or autoconf? In
> Conda Forge[1], for example, we are using both – autoconf for
> linux/osx and cmake for win64

I guess if cmake is only for windows, then that's an entirely different
question.

pkgsrc uses autoconf.  That's partly due to bias on my part, as in the
past I found cmake to be a source of difficulty even getting cmake
built.

So would you want to move to 3.10.2 as the requirement?



More information about the PROJ mailing list