Skip to content

Generate compilation database (compile_commands.json)

Clangd-based code-completion engines require a compile_commands.json file to be in the root of the project. With CMake we can easily generate this file with the CMAKE_EXPORT_COMPILE_COMMANDS directive:

Tested with vim and YCM (, and the code navigation, refactoring, and autocompletion works a treat once the compile_commands.json file is in place.

Sample usage with vim+YCM (vscode and many other tools will work similarly):

$ mkdir build $ cd build && cmake ../ && make -j$(nproc) && cd .. $ mv build/compile_commands.json . $ vim src/krenamewindow.cpp # enjoy code completion at this point

Merge request reports