CMAKE_EXPORT_BUILD_DATABASE¶
在版本 3.31 中添加。
注意
只有在通过 CMAKE_EXPERIMENTAL_EXPORT_BUILD_DATABASE
门控启用了对构建数据库的实验性支持时,此变量才有意义。
启用/禁用构建过程中的模块编译命令的输出。
如果启用,将生成一个包含使用任何工具编译目标的 C++ 模块源所需信息的 build_database.json
文件。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
。为所有语言和配置写入构建数据库。在多配置生成器中,可以认为其他构建配置数据库存在。