ProjectExplorer: Introduce a RunConfiguration::buildTargetInfo() function

As convenience function, and use it in some places.

Change-Id: I02e49f2cdc301bbf1261836032d3fa3a5b188446
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2018-04-26 08:37:56 +02:00
parent 50f2bcd9ae
commit 9ed3a05c59
5 changed files with 12 additions and 5 deletions

View File

@@ -380,6 +380,11 @@ Abi RunConfiguration::abi() const
return tc->targetAbi();
}
BuildTargetInfo RunConfiguration::buildTargetInfo() const
{
return target()->applicationTargets().buildTargetInfo(m_buildKey);
}
bool RunConfiguration::fromMap(const QVariantMap &map)
{
if (!ProjectConfiguration::fromMap(map))

View File

@@ -254,6 +254,8 @@ public:
// Return a handle to the build system target that created this run configuration.
// May return an empty string if no target built the executable!
QString buildKey() const { return m_buildKey; }
// The BuildTargetInfo corresponding to the buildKey.
BuildTargetInfo buildTargetInfo() const;
void addExtraAspect(IRunConfigurationAspect *aspect);

View File

@@ -117,7 +117,7 @@ void QbsRunConfiguration::addToBaseEnvironment(Utils::Environment &env) const
env = it.value();
return;
}
BuildTargetInfo bti = target()->applicationTargets().buildTargetInfo(buildKey());
BuildTargetInfo bti = buildTargetInfo();
if (bti.runEnvModifier)
bti.runEnvModifier(env, usingLibraryPaths);
m_envCache.insert(key, env);
@@ -137,7 +137,7 @@ Utils::FileName QbsRunConfiguration::executableToRun(const BuildTargetInfo &targ
void QbsRunConfiguration::updateTargetInformation()
{
BuildTargetInfo bti = target()->applicationTargets().buildTargetInfo(buildKey());
BuildTargetInfo bti = buildTargetInfo();
const FileName executable = executableToRun(bti);
auto terminalAspect = extraAspect<TerminalAspect>();
if (!terminalAspect->isUserSet())

View File

@@ -97,7 +97,7 @@ void DesktopQmakeRunConfiguration::updateTargetInformation()
setDefaultDisplayName(defaultDisplayName());
extraAspect<LocalEnvironmentAspect>()->buildEnvironmentHasChanged();
BuildTargetInfo bti = target()->applicationTargets().buildTargetInfo(buildKey());
BuildTargetInfo bti = buildTargetInfo();
auto wda = extraAspect<WorkingDirectoryAspect>();
wda->setDefaultWorkingDirectory(bti.workingDirectory);
@@ -137,7 +137,7 @@ void DesktopQmakeRunConfiguration::doAdditionalSetup(const RunConfigurationCreat
void DesktopQmakeRunConfiguration::addToBaseEnvironment(Environment &env) const
{
BuildTargetInfo bti = target()->applicationTargets().buildTargetInfo(buildKey());
BuildTargetInfo bti = buildTargetInfo();
if (bti.runEnvModifier)
bti.runEnvModifier(env, extraAspect<UseLibraryPathsAspect>()->value());

View File

@@ -93,7 +93,7 @@ QString RemoteLinuxRunConfiguration::defaultDisplayName() const
void RemoteLinuxRunConfiguration::updateTargetInformation()
{
BuildTargetInfo bti = target()->applicationTargets().buildTargetInfo(buildKey());
BuildTargetInfo bti = buildTargetInfo();
QString localExecutable = bti.targetFilePath.toString();
DeployableFile depFile = target()->deploymentData().deployableForLocalFile(localExecutable);