[cfe-dev] RFC: Upcoming Build System Changes

Daniel Dunbar daniel at zuster.org
Fri Oct 28 10:59:36 PDT 2011

On Fri, Oct 28, 2011 at 10:50 AM, Jeffrey Yasskin <jyasskin at google.com> wrote:
> On Fri, Oct 28, 2011 at 10:25 AM, Daniel Dunbar <daniel at zuster.org> wrote:
>>  * I don't think CMake is good enough. I agree it solves problems, but
>> I want to use great tools, not ones that work. In particular:
>>    (c) This doesn't solve any other nice problems:
>>          (i) It doesn't make it easier to play with other build
>> systems (like Ninja, or gyp).
> Speaking of ninja and gyp, gyp is actually a build system generator
> like what you're proposing, while ninja is a replacement `make`
> intended for use with build system generators. What are the reasons
> you want to write a new generator rather than using gyp?

Writing gyp files directly still doesn't solve the "explicitly
specifying the LLVM domain specific component organization problem".

Gyp is written in Python, and while I haven't looked at the code, I
imagine it could be tied in tightly (i.e., programmatically) if that
proved interesting -- that would give us all the features of gyp with
a concise LLVM specific component description syntax.

> I believe someone's now written a ninja backend for cmake, although
> I'm not sure where they put it, so cmake might actually provide an
> easier way to play with ninja than your new system. Similarly, cmake's
> xcode generator is nominally open source
> (http://cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmGlobalXCodeGenerator.cxx;h=32eaef837e2d79c286ea7651d1ee3f69eb5f0f6a;hb=HEAD).
> How come there's no interest in improving it?

I don't generally believe it is tractable to generate great project
files for a specific project from a generic configuration language.

 - Daniel

> Not that I really want to defend cmake. I hate its language as much as anyone.
> Jeffrey

More information about the cfe-dev mailing list