[webkit-dev] CMake vs. Apple's build farm

Bill Hoffman bill.hoffman at kitware.com
Tue Apr 20 05:25:05 PDT 2010

On 4/20/2010 5:13 AM, Maciej Stachowiak wrote:

> 1) None of the Mac builders have CMake installed.
> 2) The organization that maintains the Mac builders is not willing to
> let teams use any build systems to build that do not come with the OS,
> or to install any custom binaries on the builders, because builds need
> to be reproducible.
So, long term is there a way for CMake to come with the OS?  I mean 
gmake is part of the OS, python seems to be OK, how does a tool get 
promoted to such a level?

> 3) CMake is not part of the standard Mac OS X install for any shipping
> version of Mac OS X.
> 4) LLVM compiles using a separate Makefile-based (and apparently
> autoconf and autogen based) build system in OS builds.
> 5) LLVM uses CMake to build on Windows.
> 6) The build organization is more willing to install custom tools on
> Windows builders.
> I think this rules out using CMake to build the mac port. Even if we got
> it set up, we'd need to maintain some kind of parallel build system for
> production builds via the build farm, which would negate the benefit. It
> might be possible to use CMake for Apple's Windows port, but if we
> switch away from native project formats at all, ideally we'd like to
> switch both ports to the same build system.
I am wondering if you could include the sources to CMake inside the 
source tree for the Mac build farms.  CMake really only depends on the 
C++ compiler, and that is part of the OS.  You could use CMake's 
bootstrap script to build it.   Then run that CMake to generate the 
build.  I could help you create a lean CMake that would only build the 
features used for the build of WebKit.
> Since gyp does not require any special software to be installed merely
> to build, it seems like a more plausible option at the moment.

> Note: this is not to hate on CMake, I just don't want to end up in a
> position where we have to maintain two parallel build systems for the
> Mac port, or fight with other organizations about the operation of the
> build farm. Requiring CMake to be installed at build time seems like a
> showstopper from that point of view.
So, rather than install one program, Apple would rather have one of its 
developers maintain a forked build system.  I would of course like to 
see this change.   I would think it would be possible to change this. I 
suppose if enough tools that Apple uses move to CMake, it would become 
OK.  Anyway, what do think about building CMake with the project?


More information about the webkit-dev mailing list