Back to our favorite issue: compiler settings (not the dialog)
.
You probably have seen this thread about the
new wizard plugin WIP.
While developing a few wizards for it, it became apparent that the way compiler options are setup should change to be compiler-neutral. Let me explain:
Compiler | Configuration | Switches |
GCC | Debug | -g -O0 |
MSVCTK | Debug | /Zi /D_DEBUG /DDEBUG |
... | ... | ... |
As you see above, each compiler is using completely different command-line switches for the same options (obviously).
With the way compiler options are setup now, one cannot easily switch between compilers without causing problems. That's because compiler options are
not automatically converted between compilers.
What we could do is define some common group of options, common to all compilers.
Then, in the compiler options dialog, instead of having a list of on/off options, we could have a list of pre-defined settings groups (like "Debugging" above). The advantage would be that the compiler plugin wouldn't store the options as a string but rather the group settings. Something like, "debugging enabled, optimization disabled, C++ exception handling enabled". Not "-g -O0 -fexceptions". The actual command-line compiler switches would be passed to the compiler when a command-line is constructed.
This would allow us to switch between compilers and the settings would still work because we wouldn't have stored anything compiler specific but rather abstract groups of settings.
It would also make the compiler settings dialog more clear for the new user...
I hope the above make some sense, because it's not long since I woke up and coffee hasn't yet effected on me