mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-28 16:14:09 +02:00
Rephrase some sentences about unity builds in dev docs
We didn't really 'invent' unity builds, more like adopted them, since this is a common practice. Also added a reference to the actual CMake variable in question instead of just alluding to it
This commit is contained in:
parent
8ac7153120
commit
064399e6f1
@ -792,17 +792,18 @@ The most common benefits:
|
|||||||
|
|
||||||
#### Unity Builds <a id="development-develop-builds-unity-builds"></a>
|
#### Unity Builds <a id="development-develop-builds-unity-builds"></a>
|
||||||
|
|
||||||
Another thing you should be aware of: Unity builds on and off.
|
You should be aware that by default unity builds are enabled. You can turn them
|
||||||
|
off by setting the `ICINGA2_UNITY_BUILD` CMake option to `OFF`.
|
||||||
|
|
||||||
Typically, we already use caching mechanisms to reduce recompile time with ccache.
|
Typically, we already use caching mechanisms to reduce recompile time with ccache.
|
||||||
For release builds, there's always a new build needed as the difference is huge compared
|
For release builds, there's always a new build needed as the difference is huge compared
|
||||||
to a previous (major) release.
|
to a previous (major) release.
|
||||||
|
|
||||||
Therefore we've invented the Unity builds, which basically concatenates all source files
|
Unity builds basically concatenate all source files into one big library source code file.
|
||||||
into one big library source code file. The compiler then doesn't need to load the many small
|
The compiler then doesn't need to load many small files, each with all of their includes,
|
||||||
files but compiles and links this huge one.
|
but compiles and links only a few huge ones.
|
||||||
|
|
||||||
Unity builds require more memory which is why you should disable them for development
|
However, unity builds require more memory which is why you should disable them for development
|
||||||
builds in small sized VMs (Linux, Windows) and also Docker containers.
|
builds in small sized VMs (Linux, Windows) and also Docker containers.
|
||||||
|
|
||||||
There's a couple of header files which are included everywhere. If you touch/edit them,
|
There's a couple of header files which are included everywhere. If you touch/edit them,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user