[geos-devel] RFC7 - Use CMake as build system for GEOS

Sebastiaan Couwenberg sebastic at xs4all.nl
Wed Oct 3 22:13:04 PDT 2018


On 10/4/18 4:39 AM, Regina Obe wrote:
>> pkgsrc is using autoconf.   I have had far more problems with cmake over
>> time than with autoconf.
>>
> 
> But you do use CMake for some things right?
> 
> I presume Debian and CentOS packagers already use CMake because they ship pgRouting and pgRouting only supports CMake.
> Does CGAL support autotools?  I've never tried since I always went for the CMake.

Debian packaging tools also support CMake.

For the geos package autotools is used because that's the official
buildsystem and on Linux superior to CMake. E.g. libtool does the right
thing with library versioning.

I would prefer if geos kept autotools as the default buildsystem for
Linux, using CMake for Windows and other systems is fine with me.

> If we went back in time 5-7 years ago, I would have said - let's not bother with CMake because not everyone has it and it was in my mind still kind of an experimental thing.
> 
> So I would like to get feedback from packagers, but my back of the hand calculation is that most are using CMake already to package something.
> Geos is not that complicated of a tooling beast that I suspect it's not all that more painful to use CMake instead of Autotools.
> 
> When I was packaging 3.7.0 I spent 20% of my time cursing because there was this autotools configure thing, CMake make lists, and I think even NMake or some such thing
> That all needed changing just to get a stupid version number in place.
> 
> 
>> This is obviously an issue where people disagree.
>>
>> However, two observations where there is probably common ground:
>>
>>   I don't understand windows native builds (because I don't use
>>   windows), but I don't understand why there is nmake and cmake both.
>>   If cmake exists to make windows builds work, then I would think nmake
>>   can go.  And if nmake is how windows native builds are done, I don't
>>   really see the point of cmake.   I am guessing this question would be
>>   resolved by dropping nmake.
> 
> If we do nothing else, let's get rid of NMake. It existed before we had CMake, and my general feel is most windows folks have migrated to CMake :)
> I think all windows users regardless of their IDE of choice can comfortably run with CMake
> 
>>
>>   Given two systems (auto* and cmake), and the fact that geos seems to
>>   have had low rate of build system changes, I wonder if there is really
>>   a problem with both.
> [Regina Obe] 
> 
> The problem with that thinking is that it HAS HAD low rate of building system changes
> This I'm pretty sure will change in 3.8.  Both Dan and Vicky have huge plans for improving GEOS
> Which means we are going to have to add a ton more tests to the GEOS suite to ensure we don't break things.
> 
> This will become very time consuming if we have to test against autotools and CMake.
> 
> I'm not sure if it's true for other people, or if it's just because I'm working on a Handicapped platform
> But for me even when autotools WAS working GEOS compiled way faster under CMake than it did under autotools.
> 
> If that is true for others, those cycles make a big difference for development.
> 
> 
> Thanks,
> Regina
> 
> 
> _______________________________________________
> geos-devel mailing list
> geos-devel at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/geos-devel
> 



More information about the geos-devel mailing list