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.
Sometimes you work on a project with large amount of Delphi projects grouped into project group. You may either want to share a common EurekaLog settings between projects or set EurekaLog settings for few projects simultaneously.
Generally speaking, blindly sharing EurekaLog settings between several different projects is not a good idea. Various projects may be of a different type: like VCL application, DLL, packages, etc. These projects must have slightly or significantly different EurekaLog settings.
Therefore, a better idea would be to put all of your projects into logical groups, each group should have exactly the same EurekaLog settings. For example, you may select a group of 1 project for main executable, a group for DLLs and a group for packages. In other words, your project group may have either one or several logical groups of projects.
Once you have decided which projects should have different EurekaLog settings - it is time to actually assign them.
1. Option #1: Export / Import ("use by value")
This sequence will assign exactly the same EurekaLog settings for all projects in the same logical group. However, any further changes to EurekaLog settings in any of projects will not affect other projects in the same logical group. If you want to make changes in all projects in a logical group - then you must edit options in one project and then repeat steps above. In other words, settings of the projects are isolated from each other.
2. Option #2: Using External Settings ("use by reference")
Alternatively, you may set up "Use external settings" option in one project - then copy .eof of that project to other projects, but only if all projects are in the same folder. E.g. assuming you have External.eof file to hold common settings, you configure Project1.eof to use external settings (e.g. refer to the External.eof), then you copy Project1.eof to Project2.eof (in the same folder).
This sequence will also assign exactly the same EurekaLog settings for all projects in the same logical group. However, now your settings are stored in the single .eof file rather than individual .eof files for each project. The advantage of this method is that you can edit EurekaLog options of master-project - and this will automatically "adjust" options in all projects from the same logical group. In other words, all projects will reference the common options.
If you want to make some particular project to be different from its logical group - then you can uncheck "Use external settings" option, import .eof file from master-project, and adjust settings for this project.
Note: there is no inheritance support in EurekaLog's settings.