cmake 是支持多種編譯方式的工具,產生多種編譯工具可以使用的編譯文件,例如常用的gdb。 但是對於clang 編譯工具,還需要一個compile_commands.json
這個文件是由cmake 產生的,內容類似
[
{
"directory": "/home/user/development/project",
"command": "/usr/bin/c++ ... -c ../foo/foo.cc",
"file": "../foo/foo.cc"
},
...
{
"directory": "/home/user/development/project",
"command": "/usr/bin/c++ ... -c ../foo/bar.cc",
"file": "../foo/bar.cc"
}
]
是否產生這個文件可以由CMAKE_EXPORT_COMPILE_COMMANDS 來控制
不過除此之外,還可以使用一些腳本來生成
