blob: 44ffe2784085f9aee8f31479756e6b00e122158a [file] [log] [blame]
UNITY_BUILD_BATCH_SIZE
----------------------
Specifies the maximum number of source files that can be combined into any one
unity source file when unity builds are enabled by the :prop_tgt:`UNITY_BUILD`
target property. The original source files will be distributed across as many
unity source files as necessary to honor this limit.
The initial value for this property is taken from the
:variable:`CMAKE_UNITY_BUILD_BATCH_SIZE` variable when the target is created.
If that variable has not been set, the initial value will be 8.
The batch size needs to be selected carefully. If set too high, the size of
the combined source files could result in the compiler using excessive memory
or hitting other similar limits. In extreme cases, this can even result in
build failure. On the other hand, if the batch size is too low, there will be
little gain in build performance.
Although strongly discouraged, the batch size may be set to a value of 0 to
combine all the sources for the target into a single unity file, regardless of
how many sources are involved. This runs the risk of creating an excessively
large unity source file and negatively impacting the build performance, so
a value of 0 is not generally recommended.