[PATCH] D34440: [Clang] Expand response files before loading compilation database

Manuel Klimek via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 14 07:40:25 PDT 2017


klimek added a comment.

In https://reviews.llvm.org/D34440#809581, @vladimir.plyashkun wrote:

> > Are there any concerns using the alternative?
>
> I can't say that it's a big problems, but i think that:
>  //CompilationDatabase.json// is more //CMake //specific format. 
>  It can be generated automatically by //CMake//, while other build systems may not do it.
>  So we need to generate it on the fly (by tool or by hand), which also can lead to hidden problems due to different formats, different escaping rules, etc.
>  I think it's always good to have one unified format.


The compilation database is most certainly not cmake specific. We designed it in clang, and then implemented it in cmake as an example, because that's the most widely used C++ build system we were aware of (aside from autotools, which we didn't want to touch :).  There are ways to create it from other build systems (ninja has support, and there are tools that provide generic support to intercept compiles).
If you want one unified format, the compilation database is it.
If you want special integration with your IDE, btw, I'd suggest you just implement your own compilation database (in C++) and make sure tools you support link to it.


Repository:
  rL LLVM

https://reviews.llvm.org/D34440





More information about the cfe-commits mailing list