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