CMake Proposal

Andreas Schneider asn at redhat.com
Wed Feb 24 07:44:44 MST 2010


On Tuesday 23 February 2010 23:59:03 tridge at samba.org wrote:
> As I mentioned previously, I've been experimenting with using waf for
> Samba builds. So far it looks very promising.

Hello,

I've talked to tridge on Monday and he showed me waf. I've played a bit with 
it and I think it is a nice tool. I think you can do the same things with waf 
as with CMake. Here are my objections:

I've downloaded the latest version of waf and tried to compile the stuff 
Tridge migrated. It crashed so I had to use a version Tridge fixed. This 
didn't give a good impression of waf on me.
I've checked what compiler they support (gcc, suncc, msvc) and plattforms 
(didn't find a list).

I haven't found a test infrastructure in waf I didn't find information how 
they insure that a compiler and a platform is really supported.

CMake has a big test infrastructure and they ensure through nightly builds 
that cmake works with different compilers on different platforms [1]. I count 
8 different platforms and 7 different compilers. This means

add_library(mylib SHARED mylib.c) will create a shared library on every 
platform with different compilers.

As Samba runs on exotic platforms, they need to be supported. Currently only 
Tru64 is missing in the CMake QA and Bill offered here to support Tru64 in the 
future if we provide a machine with nightly builds. Earlier Björn said that is 
not a problem as the machine is from SerNet and he would be happy to help.

If I look at waf then I think Samba will end up creating sambawaf maintaining 
a build tool and supporting all those platforms and compilers.

Jelmer asked for cross-compilation support in CMake. I didn't find a note that 
waf supports cross-compilation.

KDE is currently working on cross-compilation support. Especially for mobile 
plattforms like Maemo, MeeGo and Symbian. Alexander Neudorf the KDE build 
system maintainer is a CMake developer too. He currently works on supporting 
new embedded compilers [1]. So if you use CMake you will get this support for 
free in the future.


	-- andreas

[1] http://www.cdash.org/CDash/index.php?project=CMake
[2] http://www.kdedevelopers.org/node/4169


More information about the samba-technical mailing list