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. Создаёт базы данных сборки для всех языков и конфигураций. В генераторе с несколькими конфигурациями может предполагаться, что базы данных сборки для других конфигураций уже существуют.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/variable/CMAKE_EXPORT_BUILD_DATABASE.html