[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [cdt-dev] Programmatically Create CDT Project
|
I think I've found the solution:
If I check the existing .project, .cdtproject and .settings
into CVS then they are automatically detected and everything is groovy. This has
the added advantage of putting the project metadata under version
control.
Robert
Dear
All,
I am trying to
integrate our (slightly quirky) build system with the CDT via a NewWizard.
This involves invoking a script to check out source and create a build tree
based on settings supplied in the wizard. At the end of this process I need to
create a CDT project (actually more than one in order to work around this bug). I'm
able to create something resembling a CDT project using the
following:
IProject
newProjectHandle =
ResourcesPlugin.getWorkspace().getRoot().getProject(name);
IWorkspace
workspace = ResourcesPlugin.getWorkspace();
IProjectDescription
description =
workspace.newProjectDescription(newProjectHandle.getName());
description.setLocation(new
Path(fullRoot));
CCorePlugin.getDefault().createCProject(description,
newProjectHandle, monitor,
MakeCorePlugin.MAKE_PROJECT_ID);
MakeProjectNature.addNature(newProjectHandle,
new SubProgressMonitor(monitor,
1));
ScannerConfigNature.addScannerConfigNature(newProjectHandle);
The problem is
that this doesn't configure all the default settings (Indexer, Discovery
Options...) etc. correctly and the code which does this in the
NewCProjectWizard is rather involved and also inextricably linked with
the GUI. Is there any way to achieve this without having to tease apart the
NewCProjectWizard and copy and paste the code? If programmatically creating
projects is something that other people have a need for then perhaps it would
be worth factoring out?
Merry
Christmas!
Robert