Add support for generating clang compilation database by default #2225
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note
Sister PRs:
This brings the
compilation_db
functionality to panda, similar to what we already have in openpilot, which helps with IDE integration and code navigation.This feature was originally introduced in openpilot via commaai/openpilot#19533 by @adeebshihadeh.
Previously, the behavior in panda required the
--compile-db
flag to generatecompile_commands.json
. We've now improved this:What's changed
compile_commands.json
is now always generated—no need to pass a flag.Behavior
Standalone Build
When building the panda project on its own, a
compile_commands.json
will be created in thepanda/
folder containing only panda-related entries.Submodule in openpilot
When panda is built as a submodule of openpilot, its entries will be added automatically to the top-level
compile_commands.json
in the openpilot root directory. This is achieved by configuring the build environment inpanda/SConscript
.This ensures that both IDEs and code analysis tools work seamlessly across the full openpilot + panda codebase.