The feature which combines several low-level features in order to make building most common variants simple.
Allowed values:debug, release, profile
The value debug expands to
<optimization>off <debug-symbols>on <inlining>off <runtime-debugging>on
The value release expands to
<optimization>speed <debug-symbols>off <inlining>full <runtime-debugging>off
The value profile expands to the same as release, plus:
Rationale: Runtime debugging is on in debug build to suit expectations of people used various IDEs. It's assumed other folks don't have any specific expectation in this point.
Feature which controls how libraries are built.
Allowed values:shared, static
Controls automatic generation of dll-path properties.
Allowed values:true, false. This property is specific to Unix systems. If an executable is build with <hardcode-dll-paths>true, the generated binary will contain the list of all the paths to the used shared libraries. As the result, the executable can be run without changing system paths to shared libraries, or installing the libraries to system paths. This is very convenient during development. Plase see the FAQ entry for details.