mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-04 06:10:26 -06:00
70 lines
2.1 KiB
ReStructuredText
70 lines
2.1 KiB
ReStructuredText
FASTBuild
|
||
=========
|
||
|
||
Generates a ``fbuild.bff`` file, which can be used to build the project with
|
||
`FASTBuild <https://www.fastbuild.org/docs/home.html>`_.
|
||
|
||
Usage
|
||
-----
|
||
|
||
Specify the generator when invoking :manual:`cmake(1)`:
|
||
|
||
.. code-block:: shell
|
||
|
||
cmake [<options>] -G FASTBuild -B <path-to-build> [-S <path-to-source>]
|
||
|
||
This writes a FASTBuild configuration file named ``fbuild.bff`` into
|
||
``<path-to-build>``.
|
||
|
||
.. note::
|
||
|
||
This generator also produces IDE project files for Visual Studio and Xcode,
|
||
which are placed under:
|
||
|
||
* ``<path-to-build>/VisualStudio`` – Visual Studio solution and projects
|
||
* ``<path-to-build>/XCode`` – Xcode workspace and projects
|
||
|
||
These IDE files can be generated by building ``xcode`` or ``solution`` targets
|
||
and will build using FASTBuild as the backend.
|
||
|
||
Configuration Variables
|
||
-----------------------
|
||
|
||
The following variables can be used to configure this generator:
|
||
|
||
* :variable:`CMAKE_FASTBUILD_CACHE_PATH`
|
||
* :variable:`CMAKE_FASTBUILD_CAPTURE_SYSTEM_ENV`
|
||
* :variable:`CMAKE_FASTBUILD_COMPILER_EXTRA_FILES`
|
||
* :variable:`CMAKE_FASTBUILD_ENV_OVERRIDES`
|
||
* :variable:`CMAKE_FASTBUILD_TRACK_BYPRODUCTS_AS_OUTPUT`
|
||
* :variable:`CMAKE_FASTBUILD_USE_LIGHTCACHE`
|
||
* :variable:`CMAKE_FASTBUILD_VERBOSE_GENERATOR`
|
||
|
||
Notes
|
||
-----
|
||
|
||
* This generator does not support directories as outputs of custom commands.
|
||
If you do specify a directory as an output, it should be marked with the
|
||
``SYMBOLIC`` property to avoid incorrect behavior.
|
||
* It is highly advised to use custom commands with only one output.
|
||
If multiple outputs are specified, the generator will emit an additional
|
||
rule to check the outputs at build time. This adds overhead and is necessary
|
||
because FASTBuild natively supports only a single output per custom step.
|
||
|
||
Example
|
||
-------
|
||
|
||
.. code-block:: shell
|
||
|
||
cmake [<options>] -G FASTBuild -B <path-to-build> -DCMAKE_BUILD_TYPE=Release
|
||
cmake --build <path-to-build> --target my_app
|
||
|
||
This generates ``fbuild.bff`` in ``<path-to-build>`` and uses FASTBuild
|
||
to build the ``my_app`` target.
|
||
|
||
See Also
|
||
--------
|
||
|
||
* :manual:`cmake-generators(7)`
|
||
* `FASTBuild Documentation <https://www.fastbuild.org/docs/documentation.html>`_
|