This is a detailed article. If you want a quick practical example, see: How to use different settings for development/production?
Important Note: Be extra careful when doing batch compilation of projects in project groups, or using external build tools. There are IDE bugs and other issues, which may pass incorrect information to EurekaLog (via OpenTools API in case of IDE). Pay close attention which settings file is passed to compilers by external build tools. Always double-check the final executables.
This article is supposed to answer on one common question asked by our customers. They want to use different EurekaLog settings for different build configurations. This article will explain how to do this.
For example, you want to have leaks checks enabled for Debug (e.g. developer) build configuration, but disabled for Release (e.g. production).
Important Note: This article will discuss the case when you want to have EurekaLog enabled in both Debug and Release build configurations, but with different settings. If you want EurekaLog to be enabled for Debug build configuration and be disabled for Release build configuration (or visa versa) - please, see Compiling your project with and without EurekaLog article instead.
EurekaLog stores base project settings in a .eof file with same name as project file. For example, if you have Project1.dpr - then EurekaLog will save base settings into Project1.eof file. Such file will be used by default in all cases (compilation from IDE, from command-line, etc.).
Additionally, you may manually create individual settings for each build configuration. For example: Project1_Debug.eof.
Now you can build your project in, say, 'Debug' build configuration - and appropriate EurekaLog settings (from Project1_Debug.eof file) will be used. You can switch build configuration in IDE's project manager and make another build - and a different EurekaLog settings will be used (for example, from Project1_Release.eof file). If no customized .eof file exists - base settings (from Project1.eof file) will be used.
Note: there is no inheritance support in EurekaLog's settings.
Important: do not forget to make a full project rebuild (not just compile) when you have switched active build configuration.