compdb: the compilation database Swiss army knife
compdb is a command line tool to manipulates compilation databases. A compilation database is a database for compile options, it has records of which compile options are used to build the files in a project. An example of compilation database is the JSON Compilation Database
compdb aims to make it easier for you to run tools on your codebase
by spoon-feeding you the right compile options.
compdb is not so much about generating the initial compilation database,
this, is left to other tools, such as
It is only a glue between the initial compilation database and your tool(s).
With the proliferation of Clang-based tools, it has become apparent that the compile options are no longer useful uniquely to the compiler.
Based on this evidence,
compdb came to life.
A tool that has knowledge of the compile options and can share it
both to inform the text editor and to run clang based tool from the shell.
Install with pip:
pip install compdb
From Github, as user:
pip install --user git+https://github.com/Sarcasm/compdb.git#egg=compdb
Assuming a build directory
build/, containing a
a new compilation database, containing the header files,
can be generated with:
compdb -p build/ list > compile_commands.json
To run the tests, type:
python -m tests
For regression tests on a few open source projects:
cd tests/regression/headerdb make [all|help]
Contributions are always welcome!
Try to be consistent with the actual code, it will ease the review.
This project is licensed under the MIT License. See LICENSE.txt for details.