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
。为所有语言和配置写入构建数据库。在多配置生成器中,可能假定存在其他构建配置数据库。