[LLVMdev] [cfe-dev] RFC: Upcoming Build System Changes

Chandler Carruth chandlerc at google.com
Thu Oct 27 18:48:36 PDT 2011


On Thu, Oct 27, 2011 at 6:34 PM, Chandler Carruth <chandlerc at google.com>wrote:

> 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.
>
> 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.
>
> 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.
>
> 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.
>
> - 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.
>
> - 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.
>
> - It would likely improve the quality of our CMake builds by ensuring it
> was well tested and always in a consistent state.
>
> - It already has a relatively optimized makefile-generation system, so we
> wouldn't need to re-invent this wheel again.
>

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...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111027/f10edb55/attachment.html>


More information about the llvm-dev mailing list