summaryrefslogtreecommitdiffstats
path: root/Help/variable/CMAKE_UNITY_BUILD.rst
blob: 54a781ab3ba43a31bc6873c85aebe371e9f8ff12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CMAKE_UNITY_BUILD
-----------------

.. versionadded:: 3.16

This variable is used to initialize the :prop_tgt:`UNITY_BUILD`
property of targets when they are created.  Setting it to true
enables batch compilation of multiple sources within each target.
This feature is known as a *Unity* or *Jumbo* build.

Projects should not set this variable, it is intended as a developer
control to be set on the :manual:`cmake(1)` command line or other
equivalent methods.  The developer must have the ability to enable or
disable unity builds according to the capabilities of their own machine
and compiler.

By default, this variable is not set, which will result in unity builds
being disabled.

.. note::
  This option currently does not work well in combination with
  the :variable:`CMAKE_EXPORT_COMPILE_COMMANDS` variable.