diff options
author | Doug Schaefer | 2016-10-19 14:43:55 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2016-10-19 22:32:48 +0000 |
commit | 78ba80e1d50333b8021c01afa7edbd9815612ad8 (patch) | |
tree | a2db6229a7fdc5c4b0d1986e44921348693046e2 /build/org.eclipse.cdt.cmake.core | |
parent | fbccef3ff12c3d394e30a8bd1f1198512cff3161 (diff) | |
download | org.eclipse.cdt-78ba80e1d50333b8021c01afa7edbd9815612ad8.tar.gz org.eclipse.cdt-78ba80e1d50333b8021c01afa7edbd9815612ad8.tar.xz org.eclipse.cdt-78ba80e1d50333b8021c01afa7edbd9815612ad8.zip |
Add New Empty CMake project wizard.
Change-Id: I6f4fc0db27a863700eafcac751fa168dc32d96d5
Diffstat (limited to 'build/org.eclipse.cdt.cmake.core')
-rw-r--r-- | build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/CMakeProjectGenerator.java | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/CMakeProjectGenerator.java b/build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/CMakeProjectGenerator.java index 82cc0aea8de..de95869895d 100644 --- a/build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/CMakeProjectGenerator.java +++ b/build/org.eclipse.cdt.cmake.core/src/org/eclipse/cdt/cmake/core/CMakeProjectGenerator.java @@ -27,6 +27,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.Path; import org.eclipse.tools.templates.freemarker.FMProjectGenerator; import org.eclipse.tools.templates.freemarker.SourceRoot; +import org.eclipse.tools.templates.freemarker.TemplateManifest; import org.osgi.framework.Bundle; public class CMakeProjectGenerator extends FMProjectGenerator { @@ -54,25 +55,29 @@ public class CMakeProjectGenerator extends FMProjectGenerator { public void generate(Map<String, Object> model, IProgressMonitor monitor) throws CoreException { super.generate(model, monitor); - // Create the source folders - IProject project = getProject(); List<IPathEntry> entries = new ArrayList<>(); - List<SourceRoot> srcRoots = getManifest().getSrcRoots(); - if (srcRoots != null && !srcRoots.isEmpty()) { - for (SourceRoot srcRoot : srcRoots) { - IFolder sourceFolder = project.getFolder(srcRoot.getDir()); - if (!sourceFolder.exists()) { - sourceFolder.create(true, true, monitor); + IProject project = getProject(); + + // Create the source folders + TemplateManifest manifest = getManifest(); + if (manifest != null) { + List<SourceRoot> srcRoots = getManifest().getSrcRoots(); + if (srcRoots != null && !srcRoots.isEmpty()) { + for (SourceRoot srcRoot : srcRoots) { + IFolder sourceFolder = project.getFolder(srcRoot.getDir()); + if (!sourceFolder.exists()) { + sourceFolder.create(true, true, monitor); + } + + entries.add(CoreModel.newSourceEntry(sourceFolder.getFullPath())); } - - entries.add(CoreModel.newSourceEntry(sourceFolder.getFullPath())); + } else { + entries.add(CoreModel.newSourceEntry(getProject().getFullPath())); } - } else { - entries.add(CoreModel.newSourceEntry(getProject().getFullPath())); } - entries.add(CoreModel.newOutputEntry(getProject().getFolder("build").getFullPath(), - new IPath[] { new Path("**/CMakeFiles/**") })); + entries.add(CoreModel.newOutputEntry(getProject().getFolder("build").getFullPath(), //$NON-NLS-1$ + new IPath[] { new Path("**/CMakeFiles/**") })); //$NON-NLS-1$ CoreModel.getDefault().create(project).setRawPathEntries(entries.toArray(new IPathEntry[entries.size()]), monitor); } |