Hi,
 
I want to programmatically set the compiler and linker 
options for a specific project. Below is the code I am using:
 
                               
// Compiler option to set: e.g. symbols
                                
String[] symbolList = getSymbolsToDefine(); 
 
            
IManagedBuildInfo buildInfo = 
ManagedBuildManager.getBuildInfo(proj);
            
IConfiguration defaultConfiguration = 
buildInfo.getDefaultConfiguration();
            
IToolChain toolChain = 
defaultConfiguration.getToolChain();
ITool[] 
cCompilers = toolChain.getToolsBySuperClassId("cdt.managedbuild.tool.gnu.c.compiler.mingw.base");
ITool 
cCompiler = 
… // obtain from cCompilers
 
            
cCompilerSymbolDefOption = 
cCompiler.getOptionBySuperClassId();
            
cCompilerSymbolDefOptionHolder = 
cCompilerSymbolDefOption.getOptionHolder("gnu.c.compiler.option.preprocessor.def.symbols");
 
ManagedBuildManager.setOption(defaultConfiguration, 
                                    
cToolListOptionHolder, cToolListOption, symbolList);
                
            
ManagedBuildManager.setDefaultConfiguration(proj, 
defaultConfiguration);
            
ManagedBuildManager.saveBuildInfo(proj, true);
 
I do the same thing, i.e. use setOption(), for setting 
optimization level, debugging level, libraries, … (all compiler & linker 
options).
 
Problems I see:
 
1.       
The options I set are inherited by all open projects, 
instead of just being applied to the specific project. Worst, new projects I 
create from then on inherits these options by default.
2.       
At the properties GUI, I see the options I have set 
under “All options”. However, I do not see the values reflected on the 
individual widgets (e.g. nothing in the Symbols window).
 
Can someone help me with these 2 issues? Is there a different 
way of doing this?
 
Thanks a lot,
Mary Ann