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
变量组合使用时效果不佳。