PROPOSAL: Use Cmake as the build system for Samba

Andreas Schneider asn at redhat.com
Fri Feb 19 07:49:23 MST 2010


On Friday 19 February 2010 13:42:58 you wrote:
> > > > > Does it support multi-architecture compilations? When
> > > > > cross-compiling we need to build some of the compilers (asn1c,
> > > > > compile_et) for the build platform and target platform and most
> > > > > other things just for the target platform.
> > > > 
> > > > Yes, cross compilation support has been added in CMake 2.6. All you
> > > > have to do is to write a toolchain file which defines the compilers
> > > > and paths.
> > > > 
> > > > I've cross-compiled Windows binaries for libssh on Linux with MinGW.
> > > 
> > > What I'm asking is, is it possible to have a mixed-target-platform
> > > build? We need to create binaries for multiple platforms since some of
> > > the compilers used by Samba have to be built for the platform on which
> > > you're compiling so they can be used inside of the build.
> > 
> > I don't really understand what you mean with mixed-target-platform.
> > Building for x86 and x86_64? Could you please give me an example.
> 
> If you cross compile for e.g. ARM on a x86 machine you need to build
> some binaries for x86 (since they will be used in the build process) and
> other binaries for the ARM.

I'm not sure what you're expecting. Normally you have the additional binaries 
and libraries installed in a path. You point CMake to the path where it can 
find them and it will then build your project.

http://www.cmake.org/Wiki/CMake_Cross_Compiling

I've successfully created a Windows NSIS installeer for libssh with CMake on 
Linux. I've cross-compiled it on a Linux System using MinGW. I've simply 
installed the needed tools and libraries (openssl, zlib).

	-- andreas


More information about the samba-technical mailing list