cmake > autotools? (was: Re: Goals for next Xfce releases)
Brian J. Tarricone
bjt23 at cornell.edu
Tue Jan 30 00:45:39 CET 2007
-----BEGIN PGP SIGNED MESSAGE-----
Jani Monoses wrote:
> I'll answer the autotools part i nmore details when I wake up tomorrow.
> In short I agree with what you say, and that there needs to be a
> compelling reason, and a patch is better. But this is a future goals
> thread where patches are not yet ready for most of the topics mentioned.
> Maybe this is useful read
That's pretty cool. I browsed the cmake site for a bit, and it seems
like it's a nice tool. A few problems:
* cmake doesn't support convenience libraries, which is a bit of a shame
(I use them in both xfdesktop and xfmedia).
* cmake doesn't create a 'make uninstall' target by default, and their
rationale for not doing so seems weak. You can work around this with a
custom rule, but why should you need to?
* cmake doesn't create a 'make distclean' target, and it doesn't seem
there's a way to do that without manually creating lists of files to
delete. They recommend doing out-of-source-tree builds instead, so
'make distclean' = 'rm -rf $builddir'.
* cmake seems to have been written with out-of-source-tree builds as the
common case. This isn't what we do, though we try to support it. It
might take some effort to make this work properly. I know docs
generation doesn't work properly in xfdesktop unless you do an in-tree
build (end-users don't need to generate the docs from scratch and merge
in the po-doc files, so it's not a problem).
* Some annoying idiosyncrasies have already slipped into cmake (e.g.,
some commands are inherited by subdirectories, and some aren't), just
like autotools. I guess this is inevitable, but still a shame, since it
just means rote learning a bunch of new quirks about a new system.
* At one point the cmake documentation advises not to use env vars (like
CC and CXX) to control cmake (I didn't see a rationale). This seems
pretty dumb to me.
Not saying cmake is bad or that I wouldn't be in favor of using it, just
that my 10-minute eval shows it does have problems...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
-----END PGP SIGNATURE-----
More information about the Xfce4-dev