[Lazarus] New compiler options page "Additions and Overrides"

patspiper patspiper at gmail.com
Sat Jun 8 18:27:44 CEST 2013


On 08/06/13 18:11, Martin wrote:
> [...]
>
> Maybe we should look at at least 3 groups:
>
> - Beginners
> - Advanced, that want build modes
> - Advanced, that do NOT want build modes
>
> I can understand, that within advanced users both groups exist. Both 
> have good reasons...
> So there is a need for build modes to be optional.
>
> For Beginners, I think we agree: It should be as simple as possible.
>
> Only what is more simple?
>
> 1) A user that changes no option ever, it does not matter....
> But users do want to debug, yet they want small exe....
>
> 2) They need to go through a vast amount of options, to find 2 or 3 
> options of interest for them (e.g. switch on/off debug info, or strip 
> it...)
> That is the current situation
>
> 3) Select from the 2 options debug/release. And they never even see 
> the huge amount of options we have today.
>
> I can not see, how for a beginner, 3 would not be mucheasier than 2.
>
> Of course3 does not help the advanced.... but that is a different point.
>
>
> 4)
> Maybe there is a way, with external debug info, that a beginner never 
> needs to see any of the options at all.
>
> But then build modes can be present, and experts can decide, if they 
> want a defaut with no build modes (and ignore all the build mode 
> stuff), or if they do use them.
>
>
>> I just want to set some compiler options. That's it.
>
> All the options are still there, so you do not need to worry.
>
> Even if there are a default of debug and release mode, you do not 
> worry. You never switch them, you only use one. You edit all options 
> like you have always done.
>
> Besides: The default for new projects can be saved. Delete the 2nd 
> build mode, save as default, and you never worry again...
>
> Deleting one build mode once, is much easier, than having to create it 
> from scratch.
>
> So providing it for those (of the experts) who want to keep it:
> - saves a lot of work for those who want it
> - adds very very little for those who do not.
>
> Of course, if there was a good wizard to create it, then by default it 
> could be absent.

What about using quick build mode selectors? Currently, if you have more 
than one build mode defined, then a build mode selector button appears 
to the left of the run button in the IDE toolbar. Pressing the arrow 
part of that button will let you quickly select a build mode without 
going through the compiler options and/or build modes settings.

The way I see it is to have some configurable way (more on this later) 
that allows the addition of one or more of these selector buttons:
1- Beginner or advanced user that does not want to know about any of 
this: no selectors (could be hidden if pre-defined)
2- Beginner who needs debug/release: One debug/release selector (could 
be pre-defined for him)
3- Advanced user who needs full control: several selectors (user defined)

Example of (3) would be:
- TargetOS/Widgetset selector (for cross compilation) and a 
debug/release selector
- Widgetset selector (such as qt vs gtk or qt vs win32) and a 
debug/release selector

The advantage for the beginner would be that he does not need to go to 
compiler options, and provides for the advanced user a quick selection 
way once he has defined his selectors. Moreover, once these are used as 
project default, there would be minimal need to visit the build mode page.

As for the configuration, a user defined table/matrix dictates which 
build mode to use based on the combination of the selector groups' 
selections can be used. It just adds a layer of complexity that the non 
interested user won't ever need to see.

Stephano




More information about the Lazarus mailing list