<div dir="ltr">Thanks for the response.<div><br></div><div>No need to scramble your agenda around, but thanks a lot for showing your support :)</div><div><br></div><div>The three questions are legitimate. For number 3, I can imagine IDE to only want to get the compilation database quickly, so there might be a use case to generate it separately. But only support it while updating the project might be enough for a start.</div><div><br></div><div>I played a little bit with the KDevelop cmake plugin, and I want to check if with only a clang database and custom commands I can get the IDE to work with a build2 project. I'm not extremely familiar with their codebase yet, but working on this might be a good start for me.</div><div><br></div><div>Thanks again, your efforts on this project are highly appreciated. We are in great need of a build system like build2.</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, 15 Nov 2017 at 08:01 Boris Kolpackov <<a href="mailto:boris@codesynthesis.com">boris@codesynthesis.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Guillaume Racicot <<a href="mailto:gufideg@gmail.com" target="_blank">gufideg@gmail.com</a>> writes:<br>
<br>
> I wondered if outputting clang compilation database json file is supported<br>
> or planned to be supported. A lot of tools I use rely on it, including my<br>
> IDE. Not supporting it would be a huge barrier for our team.<br>
<br>
It is not yet supported though it is pretty high on our TODO list. If you<br>
are interested in helping to flesh this feature out and then trying it on<br>
your project, we can move it to the top of the list.<br>
<br>
The Clang compilation database and VC's Open Folder functionality appear<br>
to be examples of a more general concept of producing some form of build<br>
description or project description (Open Folder includes both). So we<br>
want to make sure we get it right.<br>
<br>
Specific to the Clang compilation database, the questions are:<br>
<br>
1. At what level should we write it? Project? Amalgamation? Somewhere<br>
   else for everything being built in this invocation?<br>
<br>
2. How do we do incremental updates? Reportedly, for larger projects,<br>
   completely regenerating the database can take a non-trivial amount<br>
   of time.<br>
<br>
3. Will it be acceptable if the only way to update the database is to<br>
   also update the project? It will be the most natural approach since<br>
   the only time we assemble the complete command lines is when we are<br>
   about to update the target. However, it is not clear whether this<br>
   will be too limiting.<br>
<br>
Boris<br>
</blockquote></div>