forked from qt-creator/qt-creator
ProjectExplorer: Introduce Target::buildTarget(buildKey)
A convenience wrapper for applicationTargets().buildTargetInfo(buildKey), the only context using the BuildTargetInfoList member. Also, only one of the free comparison functions is ever used, only in one place. Inline it there. Change-Id: I7565e9d51d429af34352649e235243e5b3328fe9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -157,7 +157,7 @@ ChooseDirectoryPage::ChooseDirectoryPage(CreateAndroidManifestWizard *wizard)
|
||||
void ChooseDirectoryPage::checkPackageSourceDir()
|
||||
{
|
||||
const QString buildKey = m_wizard->buildKey();
|
||||
const BuildTargetInfo bti = m_wizard->target()->applicationTargets().buildTargetInfo(buildKey);
|
||||
const BuildTargetInfo bti = m_wizard->target()->buildTarget(buildKey);
|
||||
const QString projectDir = bti.projectFilePath.toFileInfo().absolutePath();
|
||||
|
||||
const QString newDir = m_androidPackageSourceDir->path();
|
||||
@@ -181,7 +181,7 @@ void ChooseDirectoryPage::initializePage()
|
||||
{
|
||||
const Target *target = m_wizard->target();
|
||||
const QString buildKey = m_wizard->buildKey();
|
||||
const BuildTargetInfo bti = target->applicationTargets().buildTargetInfo(buildKey);
|
||||
const BuildTargetInfo bti = target->buildTarget(buildKey);
|
||||
const QString projectDir = bti.projectFilePath.toFileInfo().absolutePath();
|
||||
|
||||
QString androidPackageDir;
|
||||
@@ -357,7 +357,7 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles()
|
||||
|
||||
if (androidPackageDir.isEmpty()) {
|
||||
// and now time for some magic
|
||||
const BuildTargetInfo bti = m_target->applicationTargets().buildTargetInfo(m_buildKey);
|
||||
const BuildTargetInfo bti = m_target->buildTarget(m_buildKey);
|
||||
const QString value = "$$PWD/" + bti.projectFilePath.toFileInfo().absoluteDir().relativeFilePath(m_directory);
|
||||
bool result = node->setData(Android::Constants::AndroidPackageSourceDir, value);
|
||||
|
||||
|
@@ -93,8 +93,7 @@ void TestConfiguration::completeTestInformation(ProjectExplorer::RunConfiguratio
|
||||
m_runnable = rc->runnable();
|
||||
m_displayName = rc->displayName();
|
||||
|
||||
const QString buildKey = rc->buildKey();
|
||||
BuildTargetInfo targetInfo = target->applicationTargets().buildTargetInfo(buildKey);
|
||||
BuildTargetInfo targetInfo = rc->buildTargetInfo();
|
||||
if (!targetInfo.targetFilePath.isEmpty())
|
||||
m_runnable.executable = ensureExeEnding(targetInfo.targetFilePath.toString());
|
||||
|
||||
|
@@ -62,7 +62,7 @@ BareMetalRunConfiguration::BareMetalRunConfiguration(Target *target, Core::Id id
|
||||
|
||||
void BareMetalRunConfiguration::updateTargetInformation()
|
||||
{
|
||||
const BuildTargetInfo bti = target()->applicationTargets().buildTargetInfo(buildKey());
|
||||
const BuildTargetInfo bti = buildTargetInfo();
|
||||
aspect<ExecutableAspect>()->setExecutable(bti.targetFilePath);
|
||||
emit enabledChanged();
|
||||
}
|
||||
|
@@ -97,7 +97,7 @@ QString CMakeRunConfiguration::disabledReason() const
|
||||
|
||||
void CMakeRunConfiguration::updateTargetInformation()
|
||||
{
|
||||
BuildTargetInfo bti = target()->applicationTargets().buildTargetInfo(buildKey());
|
||||
BuildTargetInfo bti = buildTargetInfo();
|
||||
aspect<ExecutableAspect>()->setExecutable(bti.targetFilePath);
|
||||
aspect<WorkingDirectoryAspect>()->setDefaultWorkingDirectory(bti.workingDirectory);
|
||||
aspect<LocalEnvironmentAspect>()->buildEnvironmentHasChanged();
|
||||
|
@@ -79,23 +79,7 @@ inline uint qHash(const BuildTargetInfo &ti)
|
||||
class PROJECTEXPLORER_EXPORT BuildTargetInfoList
|
||||
{
|
||||
public:
|
||||
BuildTargetInfo buildTargetInfo(const QString &buildKey) {
|
||||
return Utils::findOrDefault(list, [&buildKey](const BuildTargetInfo &ti) {
|
||||
return ti.buildKey == buildKey;
|
||||
});
|
||||
}
|
||||
|
||||
QList<BuildTargetInfo> list;
|
||||
};
|
||||
|
||||
inline bool operator==(const BuildTargetInfoList &til1, const BuildTargetInfoList &til2)
|
||||
{
|
||||
return til1.list.toSet() == til2.list.toSet();
|
||||
}
|
||||
|
||||
inline bool operator!=(const BuildTargetInfoList &til1, const BuildTargetInfoList &til2)
|
||||
{
|
||||
return !(til1 == til2);
|
||||
}
|
||||
|
||||
} // namespace ProjectExplorer
|
||||
|
@@ -313,7 +313,7 @@ QVariantMap RunConfiguration::toMap() const
|
||||
|
||||
BuildTargetInfo RunConfiguration::buildTargetInfo() const
|
||||
{
|
||||
return target()->applicationTargets().buildTargetInfo(m_buildKey);
|
||||
return target()->buildTarget(m_buildKey);
|
||||
}
|
||||
|
||||
bool RunConfiguration::fromMap(const QVariantMap &map)
|
||||
|
@@ -347,7 +347,7 @@ DeploymentData Target::deploymentData() const
|
||||
|
||||
void Target::setApplicationTargets(const BuildTargetInfoList &appTargets)
|
||||
{
|
||||
if (d->m_appTargets != appTargets) {
|
||||
if (appTargets.list.toSet() != d->m_appTargets.list.toSet()) {
|
||||
d->m_appTargets = appTargets;
|
||||
emit applicationTargetsChanged();
|
||||
}
|
||||
@@ -358,6 +358,13 @@ BuildTargetInfoList Target::applicationTargets() const
|
||||
return d->m_appTargets;
|
||||
}
|
||||
|
||||
BuildTargetInfo Target::buildTarget(const QString &buildKey) const
|
||||
{
|
||||
return Utils::findOrDefault(d->m_appTargets.list, [&buildKey](const BuildTargetInfo &ti) {
|
||||
return ti.buildKey == buildKey;
|
||||
});
|
||||
}
|
||||
|
||||
QList<ProjectConfiguration *> Target::projectConfigurations() const
|
||||
{
|
||||
QList<ProjectConfiguration *> result;
|
||||
|
@@ -37,6 +37,7 @@ QT_FORWARD_DECLARE_CLASS(QIcon)
|
||||
namespace ProjectExplorer {
|
||||
class BuildConfiguration;
|
||||
class BuildTargetInfoList;
|
||||
class BuildTargetInfo;
|
||||
class DeployConfiguration;
|
||||
class DeploymentData;
|
||||
class Kit;
|
||||
@@ -82,6 +83,7 @@ public:
|
||||
|
||||
void setApplicationTargets(const BuildTargetInfoList &appTargets);
|
||||
BuildTargetInfoList applicationTargets() const;
|
||||
BuildTargetInfo buildTarget(const QString &buildKey) const;
|
||||
|
||||
QList<ProjectConfiguration *> projectConfigurations() const;
|
||||
|
||||
|
@@ -68,7 +68,7 @@ WinRtRunnerHelper::WinRtRunnerHelper(ProjectExplorer::RunWorker *runWorker, QStr
|
||||
return;
|
||||
}
|
||||
|
||||
const BuildTargetInfo bti = target->applicationTargets().buildTargetInfo(runConfiguration->buildKey());
|
||||
const BuildTargetInfo bti = runConfiguration->buildTargetInfo();
|
||||
m_executableFilePath = bti.targetFilePath.toString();
|
||||
|
||||
if (m_executableFilePath.isEmpty()) {
|
||||
|
Reference in New Issue
Block a user