| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- 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.
|