github / github/codeql-cli-binaries

Can codeql binary use compile_database.json for cpp projects?

Open
#9 1 comment 8 reactions 1 assignee Claimed by @p0 View on GitHub
CLI enhancement
Dominant language
No language data
Stars
1k
Forks
184
PR merge metrics
No merged PRs in 30d

Description

Do I understand correctly, that to create new database with codeql for cpp project, it is enough to provide a list of files and build flags?

If so, can you please add an option to create a database from `compile_commands.json` file (https://clang.llvm.org/docs/JSONCompilationDatabase.html)?

If project uses **cmake**, to generate it, it is enough to define a single var:
```
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
```

If project uses **autotools**, like bitcoin or linux, it is enough to execute [`compiledb`](https://github.com/nickdiego/compiledb)
```
./autotools.sh
./configure
compiledb -n make
```

I am sure, there are ways to generate one for other build systems.

This feature can save a lot of time during database creation for cpp projects, because generation of this file is fast, as opposed to providing `-c` flag to `codeql` binary to actually build the project.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.