Minutes
compile_commands.json
The call covered many aspects of compile_commands.json status #689.
Decision:
One aspect where a decision agreed (with only minor reservations) by all in attendance is to enable the generator by a workspace preference that is disabled by default, with an API to allow CDT-LSP and other dependent projects (such as Renesas' internal editor) to enable it. Action (Jonah) record this as a TODO in the PR #692 before it is merged.
Discussions:
Discussions covered many other aspects, but no conclusions were reached.
In particular where exactly to hook in the generation, with the following options mentioned (with some notes about them):
- Auto build- Possible to have builder configured that only generates compile_commands.json without doing compilation (make) step
- Concerns about runtime of such a builder
- Concerns that it runs much too often (every save of any file)
 
- Same place as re-indexing- This is logic that exists already and is applied when compiler settings are changed (see ToolSettingsTab'sisIndexerAffected)
 
- in CommonBuilder (the PR currently does it here)- Negative is that an explicit build is required to make sure file exists and is up to date
 
- related to files being added/removed (workspace listeners?)- this may be needed in addition to other places (such as re-indexing) to make sure new files show up in compile_commands.json
 
- other places?- catch all for any discussion I didn't capture ;)
 
Some discussion on where to store the compile_commands.json, with this being some of the discussed options
- build/compile_commands.json(the PR currently does it here)- concern this is outside other generated locations
- this is one of the search locations of clangd
 
- somewhere else (such as Debug/compile_commands.json) that requires updates to.clangd- allows file to be put in existing generated directories
- negative is that .clangdis expected to be checked into to source control
 
- using clangd-contexts- Action (Gesa) Investigate what this option provides and understand better what others are doing here
 
- other locations?- e.g. in the root or other search locations that clangd uses
 
Neither of these discussions came to a conclusion, so further discussion is required. GitHub issues, with a lack of threading, may not be the best place to discuss. Pull out discussions into individual discussion topics and bring the conclusions back to the issue(s). A further meeting may be needed soon to continue discussions on this topic. Action (Jonah) try to schedule such a meeting.
Next Meeting
March 13 at 11am (Ottawa, Canada time)