Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.core')
-rw-r--r--core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/CBuildConfiguration.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/CBuildConfiguration.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/CBuildConfiguration.java
index 723ced6db4e..1a508884f17 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/CBuildConfiguration.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/CBuildConfiguration.java
@@ -29,9 +29,11 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -284,6 +286,18 @@ public abstract class CBuildConfiguration extends PlatformObject implements ICBu
CoreModel m = CoreModel.getDefault();
synchronized (m) {
IProjectDescription projectDesc = project.getDescription();
+ IBuildConfiguration[] bconfigs = project.getBuildConfigs();
+ Set<String> names = new LinkedHashSet<>();
+ for (IBuildConfiguration bconfig : bconfigs) {
+ names.add(bconfig.getName());
+ }
+ // must add default config name as it may not be in build config list
+ names.add(IBuildConfiguration.DEFAULT_CONFIG_NAME);
+ // ensure active config is last in list so clean build will clean
+ // active config last and this will be left in build console for user to see
+ names.remove(config.getName());
+ names.add(config.getName());
+
projectDesc.setActiveBuildConfig(config.getName());
project.setDescription(projectDesc, monitor);
}

Back to the top