You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.7 KiB
87 lines
2.7 KiB
2 months ago
|
CMAKE_EXPORT_BUILD_DATABASE
|
||
|
---------------------------
|
||
|
|
||
|
.. versionadded:: 3.31
|
||
|
|
||
|
.. note ::
|
||
|
|
||
|
This variable is meaningful only when experimental support for build
|
||
|
databases has been enabled by the
|
||
|
``CMAKE_EXPERIMENTAL_EXPORT_BUILD_DATABASE`` gate.
|
||
|
|
||
|
Enable/Disable output of module compile commands during the build.
|
||
|
|
||
|
If enabled, generates a ``build_database.json`` file containing the
|
||
|
information necessary to compile a target's C++ module sources with any
|
||
|
tooling. The format of the JSON file looks like:
|
||
|
|
||
|
.. code-block:: javascript
|
||
|
|
||
|
{
|
||
|
"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" : []
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
|
||
|
This is initialized by the :envvar:`CMAKE_EXPORT_BUILD_DATABASE` environment
|
||
|
variable, and initializes the :prop_tgt:`EXPORT_BUILD_DATABASE` target
|
||
|
property for all targets.
|
||
|
|
||
|
.. note::
|
||
|
This option is implemented only by the :ref:`Ninja Generators`. It is
|
||
|
ignored on other generators.
|
||
|
|
||
|
When supported and enabled, numerous targets are created in order to make it
|
||
|
possible to build a file containing just the commands that are needed for the
|
||
|
tool in question.
|
||
|
|
||
|
``cmake_build_database-<CONFIG>``
|
||
|
Writes ``build_database_<CONFIG>.json``. Writes a build database for the
|
||
|
entire build for the given configuration and all languages. Not available if
|
||
|
the configuration name is the empty string.
|
||
|
|
||
|
``cmake_build_database-<LANG>-<CONFIG>``
|
||
|
Writes ``build_database_<LANG>_<CONFIG>.json``. Writes build database for
|
||
|
the entire build for the given configuration and language. Not available if
|
||
|
the configuration name is the empty string.
|
||
|
|
||
|
``cmake_build_database-<LANG>``
|
||
|
Writes ``build_database_<LANG>.json``. Writes build database for the entire
|
||
|
build for the given language and all configurations. In a multi-config
|
||
|
generator, other build configuration database may be assumed to exist.
|
||
|
|
||
|
``cmake_build_database``
|
||
|
Writes to ``build_database.json``. Writes build database for all languages
|
||
|
and configurations. In a multi-config generator, other build configuration
|
||
|
database may be assumed to exist.
|