i see your points there.
Like i said, i had a different vision for build targets (thou, building all of them at the same time makes no sense for me, since the results would be overwrite by the last target).
For me, build targets would allow you to build parts of your software (like i said, like in Makefiles), so you can specify to build just the GUI, just the logical part, the framework and so on, and do a full build whenever you want (also, this is shown as well by the fact i can select which files i want to compile/link).
But yeah, if the objective of they being there is to allow different settings for the whole application i'm ok with it (like i said i was already using them that way).
About the other problem you mentioned this happens if you change the compiler inside the same build target.
For example, i've now a build target called vc-debug, that uses the VC++, if i switch to gcc (in this same target) it shows the "/Zi" option under more options, and will pass it to gcc.
But yeah, if i create one target and stick with the compiler to that target it shouldn't be a problem.
Anyways... thanks for the explanations none the less!
I was a bit "confused" at first on what is the objective of build targets, since it didn't appear quite obvious to me, since my first intention was to use it like i described above (specially thanks to the "all" option and the option to select different files).
EDIT:
Ok, just tested what you suggested, and it didn't work.
Or i'm messing something up, or C::B messed something up, or this is not the correct approach.
I've now four targets: vc-debug, vc-release, gcc-debug and gcc-release
The main compiler for the project is selected as VC++ and i try to compile the vc-debug target. When i do this it passes some gcc options to it (like -pedantic and -Wfatal-errors). And no, there is not any option left out at the options field.
The opposite also happens, if i try to compile a gcc- target it passes some VC++ specific options to it (even if i change the main compiler to gcc).
One other thing i just realized, is that right clicking the project, going under "specific build target" and them "compile", i get a list of my targets, and there is a small check box down there that says: "This target provides the project main executable" ,and it can enable for only one. So i was right, the objective of targets is to allow building different parts of the system at different times.
So, all my requests are still relevant
Edit2:
Not to mention compiler specific settings that are loaded per project and not per target, so, if i set the main compiler to VC++ it won't use my gcc include dirs, even if targets are configured to use gcc.
KM