mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-22 06:02:11 +02:00
Bug 547104 - Adding new Docker Connection causes two build dirs
- change createBuildConfiguration() method in providers: MesonBuildConfigurationProvider, CMakeBuildConfigurationProvider, AutotoolsBuildConfigurationProvider,MakefileBuildConfigurationProvider to not create a .x config name and instead use the found IBuildConfiguration so the new CBuildConfiguration will be overridden in the CBuildConfigurationManager Change-Id: Ia5f460e879f3412f19a9dec7b88dd392714b54ca
This commit is contained in:
parent
74e63a9013
commit
b5af112f86
4 changed files with 39 additions and 20 deletions
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2016 QNX Software Systems and others.
|
||||
* Copyright (c) 2016, 2019 QNX Software Systems and others.
|
||||
*
|
||||
* This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License 2.0
|
||||
|
@ -126,12 +126,17 @@ public class CMakeBuildConfigurationProvider implements ICBuildConfigurationProv
|
|||
}
|
||||
}
|
||||
String name = configName.toString();
|
||||
int i = 0;
|
||||
while (configManager.hasConfiguration(this, project, name)) {
|
||||
name = configName.toString() + '.' + (++i);
|
||||
IBuildConfiguration config = null;
|
||||
// reuse any IBuildConfiguration with the same name for the project
|
||||
// so adding the CBuildConfiguration will override the old one stored
|
||||
// by the CBuildConfigurationManager
|
||||
if (configManager.hasConfiguration(this, project, name)) {
|
||||
config = project.getBuildConfig(this.getId() + '/' + name);
|
||||
}
|
||||
if (config == null) {
|
||||
config = configManager.createBuildConfiguration(this, project, name, monitor);
|
||||
}
|
||||
|
||||
IBuildConfiguration config = configManager.createBuildConfiguration(this, project, name, monitor);
|
||||
CMakeBuildConfiguration cmakeConfig = new CMakeBuildConfiguration(config, name, toolChain, file, launchMode);
|
||||
configManager.addBuildConfiguration(config, cmakeConfig);
|
||||
return cmakeConfig;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2017 Intel Corporation and others.
|
||||
* Copyright (c) 2017, 2019 Intel Corporation and others.
|
||||
*
|
||||
* This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License 2.0
|
||||
|
@ -111,12 +111,17 @@ public class AutotoolsBuildConfigurationProvider implements ICBuildConfiguration
|
|||
}
|
||||
}
|
||||
String name = configName.toString();
|
||||
int i = 0;
|
||||
while (configManager.hasConfiguration(this, project, name)) {
|
||||
name = configName.toString() + '.' + (++i);
|
||||
IBuildConfiguration config = null;
|
||||
// reuse any IBuildConfiguration with the same name for the project
|
||||
// so adding the CBuildConfiguration will override the old one stored
|
||||
// by the CBuildConfigurationManager
|
||||
if (configManager.hasConfiguration(this, project, name)) {
|
||||
config = project.getBuildConfig(this.getId() + '/' + name);
|
||||
}
|
||||
if (config == null) {
|
||||
config = configManager.createBuildConfiguration(this, project, name, monitor);
|
||||
}
|
||||
|
||||
IBuildConfiguration config = configManager.createBuildConfiguration(this, project, name, monitor);
|
||||
AutotoolsBuildConfiguration autotoolsConfig = new AutotoolsBuildConfiguration(config, name, toolChain,
|
||||
launchMode);
|
||||
configManager.addBuildConfiguration(config, autotoolsConfig);
|
||||
|
|
|
@ -95,12 +95,16 @@ public class MakefileBuildConfigurationProvider implements ICBuildConfigurationP
|
|||
}
|
||||
}
|
||||
String name = configName.toString();
|
||||
int i = 0;
|
||||
while (configManager.hasConfiguration(this, project, name)) {
|
||||
name = configName.toString() + '.' + (++i);
|
||||
IBuildConfiguration config = null;
|
||||
// reuse any IBuildConfiguration with the same name for the project
|
||||
// so adding the CBuildConfiguration will override the old one stored
|
||||
// by the CBuildConfigurationManager
|
||||
if (configManager.hasConfiguration(this, project, name)) {
|
||||
config = project.getBuildConfig(this.getId() + '/' + name);
|
||||
}
|
||||
if (config == null) {
|
||||
config = configManager.createBuildConfiguration(this, project, name, monitor);
|
||||
}
|
||||
|
||||
IBuildConfiguration config = configManager.createBuildConfiguration(this, project, name, monitor);
|
||||
StandardBuildConfiguration makeConfig = new StandardBuildConfiguration(config, name, toolChain, launchMode);
|
||||
configManager.addBuildConfiguration(config, makeConfig);
|
||||
return makeConfig;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2016, 2018 QNX Software Systems and others.
|
||||
* Copyright (c) 2016, 2019 QNX Software Systems and others.
|
||||
*
|
||||
* This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License 2.0
|
||||
|
@ -129,12 +129,17 @@ public class MesonBuildConfigurationProvider implements ICBuildConfigurationProv
|
|||
}
|
||||
}
|
||||
String name = configName.toString();
|
||||
int i = 0;
|
||||
while (configManager.hasConfiguration(this, project, name)) {
|
||||
name = configName.toString() + '.' + (++i);
|
||||
IBuildConfiguration config = null;
|
||||
// reuse any IBuildConfiguration with the same name for the project
|
||||
// so adding the CBuildConfiguration will override the old one stored
|
||||
// by the CBuildConfigurationManager
|
||||
if (configManager.hasConfiguration(this, project, name)) {
|
||||
config = project.getBuildConfig(this.getId() + '/' + name);
|
||||
}
|
||||
if (config == null) {
|
||||
config = configManager.createBuildConfiguration(this, project, name, monitor);
|
||||
}
|
||||
|
||||
IBuildConfiguration config = configManager.createBuildConfiguration(this, project, name, monitor);
|
||||
MesonBuildConfiguration mesonConfig = new MesonBuildConfiguration(config, name, toolChain, file, launchMode);
|
||||
configManager.addBuildConfiguration(config, mesonConfig);
|
||||
return mesonConfig;
|
||||
|
|
Loading…
Add table
Reference in a new issue