Also, i admit i did a foolish thing by tinkering with "overrides"
"Additions and overrides", I assume?
Sadly Laz IDE is designed in the asusmptiuon there is always exactly one EXE-project open, never less than one and never more than one. :-/
Indeed, but even if multiple projects could be open at the same time: When you compile a project (or several in parallel) for each project there is exactly one set of settings.
(If you could compile several projects in parallel, you would need to change output path for ppu to avoid conflicts)
If you compile a project, then the settings of that project will be taken. "Additions and overrides" are meant to force options on selected (or all) packages.
So the package - part of the IDE de facto - inherits some option from EXE (namely this -Sy override from #2 screensshot)
Yes, but only if you explicitly specify that.
- If you don't use "Additions and overrides" (but maybe "custom options") => the package wont be affected.
- If you don't set a "*" as target of "Additions and overrides" then you can name packages you want to be affected (e.g. maybe your own package, with your own common code)
- but does NOT show it and does NOT give user way to override it.
Press the button "Show Options" on the bottom of the package-option dialog.
Indeed, you can't tell a package to prevent "Additions and overrides", if "Additions and overrides" target that particular package.
That is the entire idea of "Additions and overrides" => override whatever the package really wants.If you override package options, then you must take the same care that your options are "correct for the package" as you must do, when you edit the packages own options directly.
Btw, many package include $(IDEBuildOptions) => so if you change "Configure build Lazarus", then they all are affected. But the "Additions and overrides" have higher priority.
The package would NOT inherit the -Sy switch in such a world, would had recompiled, and i would never learn all the things spelled.
Don't use "Additions and overrides" or only specify the packages you want to be changed.
Add project only options in the "custom options" page of the project options.
Also, i told in the trackeer about synchronizing options in two pages.
I still wish the -Sy box in the #1 screenshot would get automatically selected just because the -Sy was manually added to the Overrides.
That be problematic.
- Users wouldn't see the difference if it was set, or just checked because of the "custom option"
- What if the custom option was removed later? Then the checkbox has to be undone too. Except maybe the user did switch the checkbox off and on again in between?
And you surely don't think that every option set by checkbox, should get an entry in "custom options"? (you can see it with the button "Show Options" )
Best that could be done, is that unchecked boxes, that have the corresponding function set by other means, would be "marked" in some way. (a colored hint in the caption?)