[webkit-dev] CMake vs. Apple's build farm
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