-
Notifications
You must be signed in to change notification settings - Fork 84
Closed
Description
From an old Slack message:
Regarding this build systems stuff, I remembered a feature CLion added at one point: compilation database. It's some generic JSON format for C/C++ compilations to list the compiled files etc from a number of different build systems. So maybe this is what we should focus on by just assuming the user has created a compilation database
and let magpie extract the list of files from that. Or maybe even make Goblint directly parse compilation databases.
- CLion documentation about it: https://www.jetbrains.com/help/clion/compilation-database.html
- CMake has the ability to output that
- Makefiles can also somehow be converted to it with compiledb-generator directly or the cilly-like interception tool Bear: https://github.com/rizsotto/Bear
- Clang documentation about it: https://clang.llvm.org/docs/JSONCompilationDatabase.html
- Some other overview of it (lists other analysis tools that can use it): https://sarcasm.github.io/notes/dev/compilation-database.html