diff options
author | hjk <hjk@qt.io> | 2018-08-29 13:00:04 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2018-08-30 10:02:33 +0000 |
commit | 7c547eba9b04a3d588494f9394abb7bc37868e48 (patch) | |
tree | 7561882889fe34301d51e8b85728df6182af96d4 /src/plugins/projectexplorer/target.cpp | |
parent | 24cabc6dbbd64e2824b02c969185ef8eee6fba21 (diff) |
ProjectExplorer: Add an option for automatic generation of runconfigs
Default to 'on'.
Task-number: QTCREATORBUG-18578
Change-Id: Ib430542b00d93138827fe8930db6a4e5a03c014c
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/target.cpp')
-rw-r--r-- | src/plugins/projectexplorer/target.cpp | 82 |
1 files changed, 44 insertions, 38 deletions
diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp index 6baf96ba87..8b87bf525c 100644 --- a/src/plugins/projectexplorer/target.cpp +++ b/src/plugins/projectexplorer/target.cpp @@ -25,25 +25,27 @@ #include "target.h" +#include "buildconfiguration.h" #include "buildinfo.h" +#include "buildmanager.h" #include "buildtargetinfo.h" +#include "deployconfiguration.h" #include "deploymentdata.h" +#include "devicesupport/devicemanager.h" #include "kit.h" #include "kitinformation.h" #include "kitmanager.h" -#include "buildconfiguration.h" -#include "deployconfiguration.h" #include "project.h" +#include "projectexplorer.h" +#include "projectexplorericons.h" +#include "projectexplorersettings.h" #include "runconfiguration.h" #include "session.h" -#include <limits> #include <coreplugin/coreconstants.h> -#include <projectexplorer/buildmanager.h> -#include <projectexplorer/devicesupport/devicemanager.h> -#include <projectexplorer/projectexplorericons.h> + #include <extensionsystem/pluginmanager.h> -#include <projectexplorer/projectexplorer.h> + #include <utils/algorithm.h> #include <utils/qtcassert.h> #include <utils/stringutils.h> @@ -52,6 +54,8 @@ #include <QIcon> #include <QPainter> +#include <limits> + namespace { const char ACTIVE_BC_KEY[] = "ProjectExplorer.Target.ActiveBuildConfiguration"; const char BC_KEY_PREFIX[] = "ProjectExplorer.Target.BuildConfiguration."; @@ -574,41 +578,43 @@ void Target::updateDefaultRunConfigurations() } configuredCount -= toRemove.count(); - // Create new "automatic" RCs and put them into newConfigured/newUnconfigured - foreach (const RunConfigurationCreationInfo &item, creators) { - if (item.creationMode == RunConfigurationCreationInfo::ManualCreationOnly) - continue; - bool exists = false; - for (const RunConfigurationCreationInfo &ex : existing) { - if (ex.id == item.id && ex.buildKey == item.buildKey) - exists = true; + bool removeExistingUnconfigured = false; + if (ProjectExplorerPlugin::projectExplorerSettings().automaticallyCreateRunConfigurations) { + // Create new "automatic" RCs and put them into newConfigured/newUnconfigured + foreach (const RunConfigurationCreationInfo &item, creators) { + if (item.creationMode == RunConfigurationCreationInfo::ManualCreationOnly) + continue; + bool exists = false; + for (const RunConfigurationCreationInfo &ex : existing) { + if (ex.id == item.id && ex.buildKey == item.buildKey) + exists = true; + } + if (exists) + continue; + + RunConfiguration *rc = item.create(this); + if (!rc) + continue; + QTC_CHECK(rc->id() == item.id); + if (!rc->isConfigured()) + newUnconfigured << rc; + else + newConfigured << rc; } - if (exists) - continue; - - RunConfiguration *rc = item.create(this); - if (!rc) - continue; - QTC_CHECK(rc->id() == item.id); - if (!rc->isConfigured()) - newUnconfigured << rc; - else - newConfigured << rc; - } - configuredCount += newConfigured.count(); + configuredCount += newConfigured.count(); - // Decide what to do with the different categories: - bool removeExistingUnconfigured = false; - if (configuredCount > 0) { - // new non-Custom Executable RCs were added - removeExistingUnconfigured = true; - qDeleteAll(newUnconfigured); - newUnconfigured.clear(); - } else { - // no new RCs, use old or new CERCs? - if (!existingUnconfigured.isEmpty()) { + // Decide what to do with the different categories: + if (configuredCount > 0) { + // new non-Custom Executable RCs were added + removeExistingUnconfigured = true; qDeleteAll(newUnconfigured); newUnconfigured.clear(); + } else { + // no new RCs, use old or new CERCs? + if (!existingUnconfigured.isEmpty()) { + qDeleteAll(newUnconfigured); + newUnconfigured.clear(); + } } } |