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 Generators. Он игнорируется другими генераторами.

При поддержке и включении создается множество целевых объектов, чтобы можно было создать файл, содержащий только команды, необходимые для данного инструмента.

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–2024 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