[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-dev] How to create a Std make project ?
|
Hello
I am trying to create std make project programatically . I created the IProject and placed necessary natures for it, then I want to create cproject file. I am trying to do that the follwing way, it creates the cproject file but it does not have the intented information in it like the build command, binary parser etc. Once the project got created I tried to set those using the CDT UI. I typed in the build command , I can see that in UI but the cproject is not getting updated . Is there anything wrong with the way in which I create the project ?
void createCProject(IProject project){
ICProjectDescription des = CoreModel.getDefault().createProjectDescription(project, true);
ManagedBuildInfo info = ManagedBuildManager.createBuildInfo(project);
ManagedProject mProj = new ManagedProject(des);
info.setManagedProject(mProj);
Configuration cfg = new Configuration(mProj, null, ManagedBuildManager.calculateChildId("0", null), "Default");
IBuilder bld = cfg.getEditableBuilder();
if (bld != null) {
if(bld.isInternalBuilder()){
IConfiguration prefCfg = ManagedBuildManager.getPreferenceConfiguration(false);
IBuilder prefBuilder = prefCfg.getBuilder();
cfg.changeBuilder
(prefBuilder, ManagedBuildManager.calculateChildId(cfg.getId(), null), prefBuilder.getName());
bld = cfg.getEditableBuilder();
bld.setBuildPath(null);
}
bld.setManagedBuildOn(false);
}
cfg.setArtifactName((project.getName().trim()));//
bld.setCommand("elf-make");
String binErrParserIds[] ={"com.parser.elf"};//need to remove hard code
cfg.setErrorParserList(binErrParserIds);
CoreModel.getDefault().setProjectDescription(project, des);
}
Thanks
Shaiju.P