UNITY_BUILD
-----------

Should the target source files be processed into batches for
faster compilation. This feature is known as "Unity build",
or "Jumbo build".

The `C` and `CXX` source files are grouped separately.

This property is initialized by the value of the
:variable:`CMAKE_UNITY_BUILD` variable if it is set when
a target is created.

.. note ::

   It's not recommended to directly set :prop_tgt:`UNITY_BUILD`
   to `ON`, but to instead set :variable:`CMAKE_UNITY_BUILD` from
   the command line. However, it IS recommended to set
   :prop_tgt:`UNITY_BUILD` to `OFF` if you need to ensure that a
   target doesn't get a unity build.

The batch size can be specified by setting
:prop_tgt:`UNITY_BUILD_BATCH_SIZE`.

The batching of source files is done by adding new sources files
wich will `#include` the source files, and exclude them from
building by setting :prop_sf:`HEADER_FILE_ONLY` to `ON`.


ODR (One definition rule) errors
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Since multiple source files are included into one source file,
it can lead to ODR errors. This section contains properties
which help fixing these errors.

The source files marked by :prop_sf:`GENERATED` will be skipped
from unity build. This applies also for the source files marked
with :prop_sf:`SKIP_UNITY_BUILD_INCLUSION`.

The source files that have :prop_sf:`COMPILE_OPTIONS`,
:prop_sf:`COMPILE_DEFINITIONS`, :prop_sf:`COMPILE_FLAGS`, or
:prop_sf:`INCLUDE_DIRECTORIES` will also be skipped.

With the :prop_tgt:`UNITY_BUILD_CODE_BEFORE_INCLUDE` and
:prop_tgt:`UNITY_BUILD_CODE_AFTER_INCLUDE` one can specify code
to be injected in the unity source file before and after every
`#include` statement.

.. note ::

   The order of source files defined in the `CMakeLists.txt` will
   be preserved into the generated unity source files. This can
   be used to manually enforce a specific grouping based on the
   :prop_tgt:`UNITY_BUILD_BATCH_SIZE`.
