[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