Glossary · Automation software engineering and architecture
Build configuration
Also known as: Build profile, Build settings
German: Build-Konfiguration
In software engineering, a build configuration is the set of settings that control how source code is turned into build artifacts, such as target platform, compiler options, optimization level, debug or release mode, included modules and compile-time switches.
- Software engineering
In one sentence
A build configuration is the set of settings, such as target, compiler options and compile-time switches, that controls how code is built.
Example
The same PLC library is built in a 'Debug' configuration with extra diagnostics for testing and a 'Release' configuration for delivery to customers.
How it applies
- Engineering: Different build configurations can produce functionally different software, for example by enabling debug code, test hooks or product variants. Keep the number of configurations small and name them clearly.
- Release: Build configurations should be stored in version control alongside the code, so every release can be rebuilt. The configuration used for a release belongs to its Configuration baseline.
- Documentation: Record which build configuration produced each delivered artifact. If configurations enable different features, the documentation team must know which variant a manual describes, and release notes should name it.
Build configuration vs. runtime configuration
A build configuration is fixed when the software is compiled; Compile-time configuration is one part of it. Runtime configuration, through a Configuration file or Configuration parameter, can be changed after deployment without rebuilding. Features that must be changeable in the field should not depend on build settings.
Testing in a debug configuration and shipping a release configuration means the shipped build must be tested too.