{C,Q}MakeProjectManager: Simplify buildInfoListForKit implementations

In both cases the created lists contain at most one item, no need to check
for duplicates.

Change-Id: Ibd2cb100d4c4199e65ffc62678e255c8ab41b11c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-01-30 12:10:24 +01:00
parent e840e69346
commit 54c2dff181
2 changed files with 4 additions and 27 deletions

View File

@@ -349,12 +349,11 @@ Kit *CMakeProjectImporter::createKit(void *directoryData) const
const QList<BuildInfo> CMakeProjectImporter::buildInfoListForKit(const Kit *k, void *directoryData) const const QList<BuildInfo> CMakeProjectImporter::buildInfoListForKit(const Kit *k, void *directoryData) const
{ {
QList<BuildInfo> result;
auto data = static_cast<const DirectoryData *>(directoryData); auto data = static_cast<const DirectoryData *>(directoryData);
auto factory = qobject_cast<CMakeBuildConfigurationFactory *>( auto factory = qobject_cast<CMakeBuildConfigurationFactory *>(
BuildConfigurationFactory::find(k, projectFilePath().toString())); BuildConfigurationFactory::find(k, projectFilePath().toString()));
if (!factory) if (!factory)
return result; return {};
// create info: // create info:
BuildInfo info = factory->createBuildInfo(k, projectDirectory().toString(), BuildInfo info = factory->createBuildInfo(k, projectDirectory().toString(),
@@ -362,19 +361,8 @@ const QList<BuildInfo> CMakeProjectImporter::buildInfoListForKit(const Kit *k, v
info.buildDirectory = data->buildDirectory; info.buildDirectory = data->buildDirectory;
info.displayName = info.typeName; info.displayName = info.typeName;
bool found = false;
foreach (BuildInfo bInfo, result) {
if (bInfo == info) {
found = true;
break;
}
}
if (!found)
result << info;
qCDebug(cmInputLog()) << "BuildInfo configured."; qCDebug(cmInputLog()) << "BuildInfo configured.";
return {info};
return result;
} }
CMakeProjectImporter::CMakeToolData CMakeProjectImporter::CMakeToolData

View File

@@ -233,12 +233,11 @@ Kit *QmakeProjectImporter::createKit(void *directoryData) const
const QList<BuildInfo> QmakeProjectImporter::buildInfoListForKit(const Kit *k, void *directoryData) const const QList<BuildInfo> QmakeProjectImporter::buildInfoListForKit(const Kit *k, void *directoryData) const
{ {
QList<BuildInfo> result;
auto *data = static_cast<DirectoryData *>(directoryData); auto *data = static_cast<DirectoryData *>(directoryData);
auto factory = qobject_cast<QmakeBuildConfigurationFactory *>( auto factory = qobject_cast<QmakeBuildConfigurationFactory *>(
BuildConfigurationFactory::find(k, projectFilePath().toString())); BuildConfigurationFactory::find(k, projectFilePath().toString()));
if (!factory) if (!factory)
return result; return {};
// create info: // create info:
BuildInfo info(factory); BuildInfo info(factory);
@@ -258,17 +257,7 @@ const QList<BuildInfo> QmakeProjectImporter::buildInfoListForKit(const Kit *k, v
extra.makefile = data->makefile; extra.makefile = data->makefile;
info.extraInfo = QVariant::fromValue(extra); info.extraInfo = QVariant::fromValue(extra);
bool found = false; return {info};
foreach (const BuildInfo &bInfo, result) {
if (bInfo == info) {
found = true;
break;
}
}
if (!found)
result << info;
return result;
} }
void QmakeProjectImporter::deleteDirectoryData(void *directoryData) const void QmakeProjectImporter::deleteDirectoryData(void *directoryData) const