[webkit-dev] CMake as a build system?

Stephan Assmus superstippi at gmx.de
Sat Apr 17 02:19:54 PDT 2010


On 2010-04-17 at 03:58:17 [+0200], Bill Hoffman <bill.hoffman at kitware.com> 
wrote:
> On Fri, Apr 16, 2010 at 9:45 PM, Maciej Stachowiak <mjs at apple.com> wrote:
> > FWIW, I don't have CMake installed, and I have everything a typical Apple
> > developer would have and then some. I'm running SnowLeopard and the latest
> > Xcode. CMake is also not installed by default on Windows and I am not sure
> > if it comes with the cygwin distribution we use.
> >
> 
> It can come with cygwin, and nothing is installed on Windows by
> default, not even the compiler...   Macports has CMake, and of course
> we have binaries at cmake.org.
> 
> > When you say "installed", does that mean it *has* to be in some system
> > location? Could it be "installed" somewhere in the WebKit build tree? Our
> > scripts download certain needed tools and libraries by default, so at 
> > least
> > from the WebKit POV this is not necessarily a showstopper.
> >
> 
> It can be "installed" anywhere.   There are binaries for all marjor
> OS's on www.cmake.org.  It is setup to run from any directory, so you
> don't need root or anything to install.
> 
> http://www.cmake.org/cmake/resources/software.html

Not that I think this would be a major concern for anyone, but Haiku also has 
a pretty up2date CMake port. ;-)

A unified build system would be great. Not only because it reduces work when 
adding or removing files, but also with regards to what part of the codebase 
gets compiled with which defines. If a port gets that wrong, all sorts of 
weird things can happen with objects having different size at different 
places in the code, and it's not exactly easy to become aquainted with the 
existing build systems quickly and feel confident.

>From the one time I had to work with CMake, my colleges who wrote the CMake 
files were not so happy with the language, but after a few iterations, they 
managed to produce relatively clean build files. Many of us used QtCreator as 
the IDE and it's definitely not so nice when you have to add or remove files, 
since it requires quite a few extra steps possibly including restarting the 
IDE (at least with that version of QtCreator) until it finally picked up the 
changes in the project files. However, it might still be worth it. After all, 
people who currently enjoy an easy way to add files in their IDE will have to 
adapt the other build systems eventually. With CMake it would be the other 
way around, but perhaps with less potential to break things.

Best regards,
-Stephan


More information about the webkit-dev mailing list