diff --git a/io.sloeber.core/src/io/sloeber/core/api/SloeberProject.java b/io.sloeber.core/src/io/sloeber/core/api/SloeberProject.java index 8bd07567f..2cec8d4e6 100644 --- a/io.sloeber.core/src/io/sloeber/core/api/SloeberProject.java +++ b/io.sloeber.core/src/io/sloeber/core/api/SloeberProject.java @@ -166,18 +166,19 @@ public void run(IProgressMonitor internalMonitor) throws CoreException { CCorePlugin cCorePlugin = CCorePlugin.getDefault(); ICProjectDescription prjCDesc = cCorePlugin.getProjectDescription(project); + ICConfigurationDescription activeConfig = prjCDesc.getActiveConfiguration(); - for (ICConfigurationDescription curConfigDesc : prjCDesc.getConfigurations()) { - - sloeberProject.myCompileDescriptions.put(getConfigKey(curConfigDesc), compileDescriptor); - sloeberProject.myBoardDescriptions.put(getConfigKey(curConfigDesc), boardDescriptor); - sloeberProject.myOtherDescriptions.put(getConfigKey(curConfigDesc), otherDesc); - + for (String curConfigName : sloeberProject.myBoardDescriptions.keySet()) { + ICConfigurationDescription curConfigDesc = prjCDesc.getConfigurationByName(curConfigName); + if (curConfigDesc == null) { + String id = CDataUtil.genId(null); + curConfigDesc = prjCDesc.createConfiguration(id, curConfigName, activeConfig); + } Helpers.addIncludeFolder(curConfigDesc, addToIncludePath, true); String curConfigKey = getConfigKey(curConfigDesc); sloeberProject.setEnvVars(curConfigKey, sloeberProject.getEnvVars(curConfigKey)); - configs2.put(curConfigDesc.getName(), curConfigDesc.getId()); + configs2.put(curConfigName, curConfigDesc.getId()); }