dist target differences between cmake and autotools
jralls at ceridwen.us
Sun Jul 9 16:56:57 EDT 2017
> On Jul 9, 2017, at 1:17 PM, Geert Janssens <geert.gnucash at kobaltwit.be> wrote:
> I have tested the dist target in both cmake and autotools. I couldn't test the
> autotools dist generated by cmake because my autotools is too recent. So I
> have one tarball purely cmake and one tarball purely autotools.
> There are a few missed files that should be fixed on both sides I believe.
> Those are easy to fix by comparing a diff of the tarball content lists.
> The more interesting issue is though that the autotools based dist tarball
> doesn't contain a single CMakeLists.txt or the related cmake support files.
> And the other way around the cmake tarball doesn't contain the Makefile.in
> files (it does include Makefile.am) and the typical autotools related support
> Perhaps the latter is because of the autotools-too-recent issue I mentioned at
> the start.
> I wonder though what our eventual goal is: should the dist tarball support
> both cmake and autotools ?
> Or put differently should the tarballs being output by the different
> toolchains be identical and interchangeable ?
> Or is it time to make a definitive choice of build system ?
> I worry that if both toolchains generate dist tarballs that are not the same
> we will get mixups at some point and confusion as a result.
> P.S. I have attached the contents of the two tarballs I have created with
> today's master for comparison.<cmake.lst><autotools.lst>
I don't think it's because your autotools are "too recent", I think it's because there are some problems with running the autotools part of cmake distcheck on master. That step is required for creating the Makefile.in-s.
If we're going to maintain two build tools then the dist tarballs should indeed be the same regardless of the build tool that made it and should support building with either. Fixing that should be fairly straightforward: The cmake files need to be added to extra_dist in Makefile.am and there's one file in qof that needs to get added to CMakeLists.txt.
More information about the gnucash-devel