CMAKE_EXPORT_BUILD_DATABASE¶
於 3.31 版本新增。
注意
只有在透過 CMAKE_EXPERIMENTAL_EXPORT_BUILD_DATABASE
閘道啟用建置資料庫的實驗性支援時,此變數才有意義。
啟用/停用建置期間模組編譯命令的輸出。
如果啟用,會產生一個 build_database.json
檔案,其中包含使用任何工具編譯目標的 C++ 模組原始碼所需的資訊。JSON 檔案的格式如下所示
{
"version": 1,
"revision": 0,
"sets": [
{
"family-name" : "export_build_database",
"name" : "export_build_database@Debug",
"translation-units" : [
{
"arguments": [
"/path/to/compiler",
"...",
],
"baseline-arguments" :
[
"...",
],
"local-arguments" :
[
"...",
],
"object": "CMakeFiles/target.dir/source.cxx.o",
"private": true,
"provides": {
"importable": "path/to/bmi"
},
"requires" : [],
"source": "path/to/source.cxx",
"work-directory": "/path/to/working/directory"
}
],
"visible-sets" : []
}
]
}
此值由 CMAKE_EXPORT_BUILD_DATABASE
環境變數初始化,並為所有目標初始化 EXPORT_BUILD_DATABASE
目標屬性。
注意
此選項僅由 Ninja 產生器 實作。在其他產生器上會被忽略。
在支援且啟用的情況下,會建立許多目標,以便能夠建立一個檔案,其中僅包含目標工具所需的命令。
cmake_build_database-<CONFIG>
寫入
build_database_<CONFIG>.json
。為給定的組態和所有語言寫入整個建置的建置資料庫。如果組態名稱為空字串,則不可用。cmake_build_database-<LANG>-<CONFIG>
寫入
build_database_<LANG>_<CONFIG>.json
。為給定的組態和語言寫入整個建置的建置資料庫。如果組態名稱為空字串,則不可用。cmake_build_database-<LANG>
寫入
build_database_<LANG>.json
。為給定的語言和所有組態寫入整個建置的建置資料庫。在多組態產生器中,可以假設存在其他建置組態資料庫。cmake_build_database
寫入到
build_database.json
。為所有語言和組態寫入建置資料庫。在多組態產生器中,可以假設存在其他建置組態資料庫。