On Apr 16, 2010, at 7:39 PM, Maciej Stachowiak wrote:


On Apr 16, 2010, at 7:17 PM, Bill Hoffman wrote:


It is as native as we can make it.   However, we do call cmake during
the build at some points, to overcome shortfalls of the build tool.
Also, to re-run cmake if any of the input files change. Also, basic
system commands like cp can be done with cmake -E copy_file so it is
portable.

Calling cmake during the build would likely be a showstopper for the Mac port. As far as I know, Apple's build farm does not have CMake installed (at least not on older build trains). And it's not easy to convince the build engineers to install custom build tools.

Here is what I have learned about this, and unfortunately it is bad news for CMake:

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. 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.

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.

Regards,
Maciej

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to