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-----
Hash: RIPEMD160

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
> http://lwn.net/Articles/188693/

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...

	-brian

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQFFvocA6XyW6VEeAnsRA4juAJ9Wsk/VmC6eandiNxlOHaNl5jv3KwCdHip3
Igmu7bZEdVpIrKRdGYW8cVw=
=0Ep2
-----END PGP SIGNATURE-----



More information about the Xfce4-dev mailing list