A library for determining the clang compilation flags needed for a source file
npm install clang-flagsHelper library for Atom to determine the clang compiler flags needed for a file.
This is useful if you want to write a completion, lint, or other clang-using
package.
The .clang-complete is used by vim's clang-complete script. It contains all the
flags needed by a project, one flag per line. It's fairly coarse, not allowing
different flags per file, but is still easy to generate, and sufficient for
most projects.
CompDB is a JSON format for specifying the per-file compilation flags (http://clang.llvm.org/docs/JSONCompilationDatabase.html). Clang-flags will look for such a definition recursively up the tree in files called compile-commands.json, treating the location of such a file as the root of the project for relative paths. How to generate such a file depends on the build system in use - ninja and cmake can both generate them natively, and a tool called 'bear' can generate them for other build systems. For example, with ninja a command such as ninja -t compdb cc cxx > compile_commands.json might get you what you need.