PROPOSAL: Use Cmake as the build system for Samba

Andrew Bartlett abartlet at
Thu Feb 18 15:56:05 MST 2010

On Wed, 2010-02-17 at 15:22 -0800, Jeremy Allison wrote:
> On Wed, Feb 17, 2010 at 06:05:55PM -0500, simo wrote:
> > The Samba 3 angle is the one under which I made the above python
> > comment. The reason why we are proposing CMake however is more about
> > it's proven record and capabilities. We are willing to dedicate effort
> > to something that resolves some of the main pains we had, namely lack of
> > knowledge/support of the current build system.
> > CMake looks like a good candidate.
> > 
> > Changing the build system is challenging enough, from our analysis CMake
> > looks like the best shot at being able to pull it out, the others looks
> > more like a shot in the dark.
> My 2 cents. I'm completely happy with you creating a parallel build
> system based on CMake, which looks like a well supported and used
> solution, so long as we retain the existing autoconf / configure
> system along with it.
> Once we have a parallel build system and we keep it up to date,
> if it has significant advantages over our existing system then
> we can decide to switch over.
> One of the significant advantages to your proposed CMake system
> is that you are committed to maintaining it :-). I'm happy to
> learn a new build system slowly, especially as it has a book
> written about it already :-).

I think we should be quite cautious about doing this in parallel.  In a
branch would be OK, but in parallel in the main tree risks it becoming
used by some, not used by others and creating a situation where a
developer adding a common file has to have working:
 - Samba3 on it's own
 - Samba3 merged build
 - Samba4 on it's own
 - Samba3 with 'new build system'
 - Samba3 with 'new build system' merged build
 - Samba4 with 'new build system'

The same applies to any alternative that is proposed (so this comment
isn't about any particular new build system).  By placing it in a
feature branch, we can first build it on all the build farm hosts, then
fix up all those issues, and have it available for developers to test
(to see if the change has broken anything).  

Within a fairly short period, if the system works and everyone is happy
it doesn't break things they depend on (we have a lot of odd corners in
our current build systems), then we can switch.  We must also switch all
of 'master' at once, both Samba3 and Samba4.

Otherwise, we risk a long prolonged transition that just gets messy, or
the false promise that both systems will work (they won't for very

Andrew Bartlett

Andrew Bartlett                      
Authentication Developer, Samba Team 
Samba Developer, Cisco Inc.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the samba-technical mailing list