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

Greg Troxel gdt at lexort.com
Fri Oct 19 18:51:19 PDT 2018


Paul Ramsey <pramsey at cleverelephant.ca> writes:

> Or maybe I should attempt to summarize what I recall from the thread that
> seem to me to be reasonable functional requests before going cmake-only:
>
> - make dist generates a distributable tarball
> - make check
>   - make check runs all tests
>   - make check builds test binaries that can be debugged w/o an install
>
> More?

I think there are three more things that autotools does right that need
to be replicated before it's ok to drop autotools.

1) "make distcheck", which
  does make dist
  unpacks the distfile
  does an objdir build from the unpacked distfile
  runs make check (which uses the just-built libs)

which shoud be easy if make disk and make check work ok.


2) cross building, where you can specify a cross toolchain and a path to
where the cross includes are.  This is something that has worked with
very little effort with autotools.  I don't know if it works with geos
this minute, but I know in general it works if there aren't any
cross-breaking bugs (like AC_TRY_RUN, or random code with issues in
makefiles).

3) ensuring that the cmakefiles have almost no "if on this OS, do this"
logic.  autoconf introduced the idea of feature tests which has been
greate for portability and I have in general seen things within cmake
that are a step backwards.  I don't know where the geos cmake build is
(it fails on NetBSD, not sure why), so this may be a non-issue.  But
culturally this sort of ifdef SO seems acceptable in cmake where it
isn't in autoconf, and I don't know why.


More information about the geos-devel mailing list