CMAKE_EXPORT_COMPILE_COMMANDS¶
在版本 3.5 中添加。
在生成期间启用/禁用编译命令的输出。
如果已启用,则生成一个 compile_commands.json
文件,其中包含机器可读形式的该项目所有转换单元的确切编译器调用。JSON 文件的格式如下所示
[
{
"directory": "/home/user/development/project",
"command": "/usr/bin/c++ ... -c ../foo/foo.cc",
"file": "../foo/foo.cc",
"output": "../foo.dir/foo.cc.o"
},
...
{
"directory": "/home/user/development/project",
"command": "/usr/bin/c++ ... -c ../foo/bar.cc",
"file": "../foo/bar.cc",
"output": "../foo.dir/bar.cc.o"
}
]
这是由 CMAKE_EXPORT_COMPILE_COMMANDS
环境变量初始化的,并将 EXPORT_COMPILE_COMMANDS
目标属性初始化为所有目标。
注意
此选项仅由 Makefile 生成器 和 Ninja 生成器 实现。它会在其他生成器上被忽略。
此选项目前不能与 UNITY_BUILD
目标属性或 CMAKE_UNITY_BUILD
变量很好地结合使用。