ProjectExplorer: Store BuildTargetInfo in RunControl directly

Target might go away...

Change-Id: Icbe040b030148a75e84f89b1ea47867f7ab18519
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-08-27 12:54:01 +02:00
parent 942626d58f
commit 2e8f650044

View File

@@ -326,6 +326,7 @@ public:
QPointer<RunConfiguration> runConfiguration; // Not owned. Avoid use. QPointer<RunConfiguration> runConfiguration; // Not owned. Avoid use.
QString buildKey; QString buildKey;
Core::Id runConfigId; Core::Id runConfigId;
BuildTargetInfo buildTargetInfo;
Kit *kit = nullptr; // Not owned. Kit *kit = nullptr; // Not owned.
QPointer<Target> target; // Not owned. QPointer<Target> target; // Not owned.
QPointer<Project> project; // Not owned. QPointer<Project> project; // Not owned.
@@ -369,6 +370,9 @@ void RunControl::setTarget(Target *target)
QTC_CHECK(!d->target); QTC_CHECK(!d->target);
d->target = target; d->target = target;
if (!d->buildKey.isEmpty())
d->buildTargetInfo = target->buildTarget(d->buildKey);
delete d->outputFormatter; delete d->outputFormatter;
d->outputFormatter = OutputFormatterFactory::createFormatter(target); d->outputFormatter = OutputFormatterFactory::createFormatter(target);
if (!d->outputFormatter) if (!d->outputFormatter)
@@ -902,12 +906,12 @@ QString RunControl::buildKey() const
FilePath RunControl::targetFilePath() const FilePath RunControl::targetFilePath() const
{ {
return d->target->buildTarget(d->buildKey).targetFilePath; return d->buildTargetInfo.targetFilePath;
} }
FilePath RunControl::projectFilePath() const FilePath RunControl::projectFilePath() const
{ {
return d->target->buildTarget(d->buildKey).projectFilePath; return d->buildTargetInfo.projectFilePath;
} }
/*! /*!