Eric and I discussed this recently. We think the easiest path forward is to try to remove build systems incrementally. Each build system we remove makes it easier to hack on the project because you have one less build system to worry about. The easiest build system to remove is probably the Visual Studio build system. There's some complexity there because several ports use the vcproj files (e.g., apple-win, win-cairo, and wince as I recall). My understanding (based on past emails) is that either CMake or GYP would be workable. Last CMake discussion message ended with [1]. I strongly prefer CMake, because GYP is a Chromium tool ("... a tool that is highly specific to Chromium's specific use case ..." [2])
I'm not sure there's anything blocking this work. We just need someone to be interested enough in making it happen to do it. I work already on a general CMake buildsystem [3]. Until I get a r+, the patch doesn't aplly any more, what makes it very hard to make progress (i took 3 months for the last patch). I use CMake for the WinCE port too [4]. It should be very easy to add additional ports to the CMake system. You only need to add CMakeLists<PORT>.txt files, which contain the plarform specific files (see [5] for additional sample).
IMHO it's no big task to port wx and gtk to CMake. For the Windows port(s) it's a little bit harder if you want to detect the 3rdparty stuff in a clean way (because there is no general "/usr/include"). There is already a bug to use CMake for BREWMP: [6] If someone is interested in switching to CMake I'd like to help. [1] https://lists.webkit.org/pipermail/webkit-dev/2010-April/012662.html [2] http://code.google.com/p/gyp/wiki/GypLanguageSpecification#Background [3] https://bugs.webkit.org/show_bug.cgi?id=43906 [4] http://trac.webkit.org/wiki/WinCE [5] http://gitorious.org/+wincewebkit- developers/webkit/wincewebkit/trees/wincegdi [6] https://bugs.webkit.org/show_bug.cgi?id=39398 - Patrick