Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] Adding new Make Targets programmatically

Few question first;

Are you using your own make builder or is the project a standard make
project?

What is this error you are getting below? You mention something about the
class path to IMakeTargetManager, could you be a bit more specific here, as
this is the interface to create make targets.

> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On
> Behalf Of Tomas
> Sent: Monday, October 30, 2006 9:19 PM
> To: CDT General developers list.
> Subject: Re: [cdt-dev] Adding new Make Targets programmatically
> 
> 
> Hi
> 
> So what I have so far, after diving for several hours though the CDT
> source code is:
> 
> --------------------------------------------------------------------------
> --------------
> 
> IMakeTargetManager fTargetManager;
> fTargetManager = MakeCorePlugin.getDefault().getTargetManager();
> 
> String[] id = fTargetManager.getTargetBuilders(getNewProject());
> if (id.length == 0) {
>    throw new CoreException(new Status(IStatus.ERROR,
> MakeUIPlugin.getUniqueIdentifier(), -1,
> 
> MakeUIPlugin.getResourceString("MakeTargetDialog.exception.noTargetBuilder
> OnProject"),
> null)); //$NON-NLS-1$
> }
> String targetBuildID = id[0];
> IMakeTarget target = fTargetManager.createTarget(getNewProject(),
> "configure", targetBuildID);
> fTargetManager.addTarget(getNewProject().getParent(), target);
> 
> --------------------------------------------------------------------------
> --------------
> 
> Executing that raises an error dialog with a line containing the
> IMakeTargetManager class path, which I guess it means there is something
> wrong with my use of that class.
> And for the IMakeBuilderInfo I have:
> 
> --------------------------------------------------------------------------
> --------------
> 
> IMakeBuilderInfo info = MakeCorePlugin.createBuildInfo(getNewProject(),
> fTargetManager.getBuilderID(targetBuildID));
> info.setBuildAttribute(IMakeCommonBuildInfo.BUILD_COMMAND, "make");
> //$NON-NLS-1$
> info.setBuildAttribute(IMakeCommonBuildInfo.BUILD_ARGUMENTS, "");
> //$NON-NLS-1$
> info.setUseDefaultBuildCmd(true);
> info.setStopOnError(true);
> info.setIncrementalBuildEnable(true);
> info.setBuildAttribute(IMakeBuilderInfo.BUILD_TARGET_INCREMENTAL, "all");
> 
> --------------------------------------------------------------------------
> --------------
> 
> Which I don´t know how to use it together with IMakeTarget, and I don´t
> know if I even need it.
> PLEASE help me with this. Is really difficult to guess how it works
> without any help...
> 
> Thank you in advance
> Tomas
> 
> Tomas wrote:
> >
> >
> > Hi
> >
> > I'm extending CDT to create an IDE platform for embedded projects. I'm
> > using standard Make projects, Eclipse 3.1.2 and CDT 3.0.2.
> > I have made a new project wizard that creates certain files when the
> > "Finish" button is pressed. Additionally I need to add a make target
> > to the new project I'm creating (also when the Finish button is
> > pressed, in order to make it automatically). This make target should
> > appear in the "Make targets" view, inside the node of the new project
> > that is being created.
> > I read somewhere that I should use IMakeBuilderInfo and IMakeTarget,
> > but I have unsuccessfully searched on how to specifically do that.
> >
> > Any help would be really appreciated
> > Best regards
> >
> > Tomas
> > _______________________________________________
> > cdt-dev mailing list
> > cdt-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> >
> >
> 
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev


Back to the top