<div class="gmail_quote">On Thu, Oct 27, 2011 at 6:34 PM, Chandler Carruth <span dir="ltr"><<a href="mailto:chandlerc@google.com">chandlerc@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I have a very high level comment, and you may be able to directly shed light on it before I dig into a lot more detail.<div><br></div><div>Why not simply standardize on CMake? It's not my favorite tool, but it seems to work well, we have established usage of it, and several people involved in the project who understand how it works. It doesn't seem like a significantly more burdensome dependency than Python when developing, and it remains possible to build installable packages for the casual hacker.</div>

<div><br></div><div>I can see some objections to CMake, but it's not clear to me that they should carry the day. I'm also probably missing some.</div><div><br></div><div>The one I see most clearly is that the CMake build, as it stands, involves Too Much Magic. I don't at all disagree. That said, I strongly believe this could be completely addressed.</div>

<div><br></div><div>- If we moved to CMake as the standard build system, numerous kludgy aspects of the current build would go away. They are often in existence purely to support interoperation with the old system.</div>
<div>
<br></div><div>- It would be very straight forward to centralize all of the library dependencies and descriptions in the single top-level CMakeLists.txt file, making it easily consumable by your average developer. It would have a format no harder to edit or understand than the one you propose, and they would both (at worst) be unfamiliar to existing developers.</div>

<div><br></div><div>- It would likely improve the quality of our CMake builds by ensuring it was well tested and always in a consistent state.</div><div><br></div><div>- It already has a relatively optimized makefile-generation system, so we wouldn't need to re-invent this wheel again.</div>
</blockquote><div><br></div><div>Something else I wanted to mention, although I don't know how relevant it really is to most LLVM and/or Clang developers is that we have several Clang developers who are actually contributing to CMake specifically around integration with Clang and related tools. I expect these to increase over the next year...</div>
</div>