CrossStudio provides a facility to build projects in various configurations. Project configurations are used to create different software builds for your projects.

A configuration defines a set of project property values. For example, the output of a compilation can be put into different directories, dependent upon the configuration. When you create a solution, some default project configurations are created.

Build configurations and their uses

Configurations are typically used to differentiate debug builds from release builds. For example, the compiler options for debug builds will differ from those of a release build: a debug build will set options so the project can be debugged easily, whereas a release build will enable optimization to reduce program size or to increase its speed. Configurations have other uses; for example, you can use configurations to produce variants of software, such as custom libraries for several different hardware variants.

Configurations inherit properties from other configurations. This provides a single point of change for definitions common to several configurations. A particular property can be overridden in a particular configuration to provide configuration-specific settings.

When a solution is created, two configurations are generated — Debug and Release — and you can create additional configurations by choosing Build > Build Configurations. Before you build, ensure that the appropriate configuration is set using Build > Set Active Build Configuration or, alternatively, the Active Configuration combo box in the Project Explorer. You should also ensure that the appropriate build properties are set in the Properties window.

Selecting a configuration

To set the configuration that affects your building and debugging, use the combo box in the Project Explorer or select Build > Set Active Build Configuration

Creating a configuration

To create your own configurations, select Build > Build Configurations to invoke the Configurations dialog. The New button will produce a dialog allowing you to name your configuration. You can now specify the existing configurations from which your new configuration will inherit values.

Deleting a configuration

You can delete a configuration by selecting it and clicking the Remove button. This deletion cannot be undone or canceled, so beware.

Private configurations

Some configurations are defined purely for inheriting and, as such, should not appear in the Build combo box. When you select a configuration in the Configuration dialog, you can choose to hide that configuration.