Build configurations: General understanding of dependencies
Hello,
Recently I had problems among the several build configs because I accidentally changed parameters in a configuration.
Several parameters have "inherits" as a tag word behind them.
For my STM32 project, the "THUMB Debug" is merged from the "THUMB" and the "Debug" configuration as selectable via the checkboxes in "Edit Configurations". The "Common" config is greyed out and checked by default.
So how come that in this configuration, the Debug and Optimization are inherited from "THUMB" and not from "Debug"?In the "Debug" config I have enabled Debugging and Optimization levels for debugging.
Because, if I change these two in the "THUMB" config, then the according "THUMB Release" config is also set up for debugging.
Makes no sense to me... 😩
How would I properly set both "THUMB Debug" and "THUMB Release"?
Cheers,
Johannes
-
The Debugging Level and Optimization Level properties are normally only set in the Release or Debug configurations.
It looks like you have set the Debugging Level property in the "THUMB" configuration which is overriding the "Debug" configuration setting.
To make the build use the "Debug" configuration value rather than "THUMB" configuration value you should remove the setting in the "THUMB" configuration. To do this, select the "THUMB" configuration in the properties window and then right click on the Debugging Level property and select Use Inherited Value.
How would I properly set both "THUMB Debug" and "THUMB Release"?
It rather depends on what you want to achieve, but say for instance that you want to change the optimization level for all release configurations, you would set the Optimization Level in the "Release" configuration. Alternatively, if you have multiple release configurations in your project and you only want the setting to apply to the "THUMB Release" configuration then you would set the property in the "THUMB Release" configuration.
Please sign in to leave a comment.
Comments
1 comment