Bear is a tool that generates a compilation database for clang tooling.

2544
205
C++

Packaging status
GitHub release
GitHub Release Date
Continuous Integration
Contributors
Gitter

ʕ·ᴥ·ʔ Build EAR

Bear is a tool that generates a compilation database for clang tooling.

The JSON compilation database is used in the clang project
to provide information on how a single compilation unit is processed.
With this, it is easy to re-run the compilation with alternate programs.

Some build system natively supports the generation of JSON compilation
database. For projects which does not use such build tool, Bear generates
the JSON file during the build process.

How to install

Bear is packaged for many
distributions. Check out your package manager. Or build it
from source.

How to use

After installation the usage is like this:

bear -- <your-build-command>

The output file called compile_commands.json is saved in the current directory.

For more options you can check the man page or pass --help parameter. Note
that if you want to pass parameter to Bear, pass those before the -- sign,
everything after that will be the build command.

Please be aware that some package manager still ship our old 2.4.x release.
In that case please omit the extra -- sign or consult your local documentation.

For more, read the man pages or wiki of the project, which talks about
limitations, known issues and platform specific usage.

Problem reports

Before you open a new problem report, please look at the wiki if your
problem is a known one with documented workaround. It’s also helpful to look
at older (maybe closed) issues before you open a new one.

If you decided to report a problem, try to give as much context as it would
help me to reproduce the error you see. If you just have a question about the
usage, please don’t be shy, ask your question in an issue or in chat.

If you found a bug, but also found a fix for it, please share it with me and
open a pull request.

Please follow the contribution guide when you do these.


Thanks to JetBrains
for donating product licenses to help develop Bear