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
變數結合使用時效果不佳。