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
's isIndexerAffected
)
- 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
.clangd
is 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)