PROPOSAL: Use Cmake as the build system for Samba

Kai Blin kai at
Wed Feb 17 15:20:17 MST 2010

On Wednesday 17 February 2010 22:44:57 Andreas Schneider wrote:

> > The one thing that throws me off is that from the wiki page it seems like
> > some things are generated using ruby?
> I have written a script (in ruby) to make my life easier for a thing I do
> often for different projects. There is no ruby requirement and you don't
> have to use it.

Ah, ok, my bad. 

> > So the plan is to ditch the build
> > system we currently have that probably only jelmer and metze understand
> > enough to fix the esoteric problems for one that only Andreas understands
> > enough to fix the esoteric problems.
> What are you talking about here? CMake is a widely used build system.
> Several big projects use it and is has been designed to fix the problems of
> current build systems like building a parser, generate source code with the
> parser and then compile it (yacc, moc, pidl). The nice thing is that CMake
> automatically resolves the dependencies. Yes, this is working see KDE (qt
> moc).

I'm not worried about that part. Plain make seems to be able to deal with pidl 
ok. It might be a bit more work in the makefiles, but this seems like the 
easy part. One thing that'd help to convince people would be to show that 
cmake generates s4 binaries that are way smaller than the ones generated by 
the current build system. Simply stating that the new system isn't worse than 
the old one doesn't really convince me, at least. :)

> > That looks like it's changing the
> > bussing factor in the wrong direction. Also, the examples on the wiki
> > page seem to be covering the simple cases. What I'd like to see would be
> > a good way to do things like..
> Well, this is about considering CMake as a build system.
> > make test TESTS=<regex>
> > make testenv
> This should work and be doable. At this early stage (just having some
> prototype to start a discussion) we can't provide a full build and test
> environment for Samba.

Right, but this is one of the killer features of the build system you're 
proposing to replace. If you can't show that cmake supports these as well, 
the next paragraph is pretty much a moot point.

> > That's the custom parts of the build system that create the added value
> > for me, the rest would be doable with plain autoconf with hardly any
> > magic at all. As I said, the S3 buildsystem, which doesn't provide many
> > of the fancy features the S4 build system has, is rather straightforward.
> There are no plans to remove any features of the test infrastructure. The
> plan is to make things simpler and create a better experience.

Right, so that's the part I'd like to see in action. :)


Kai Blin
WorldForge developer
Wine developer
Samba team member
Will code for cotton.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <>

More information about the samba-technical mailing list