Spec-Zone.ru › CMake

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API