QmakeProjectManager: Speed up project importer

Change-Id: I0cc5661f76c1d8f9182473d5f8da18452e3f85bf
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2023-09-25 16:00:02 +02:00
parent 25c7390d0a
commit 873a719174

View File

@@ -27,9 +27,9 @@
#include <utils/qtcassert.h>
#include <QDir>
#include <QFileInfo>
#include <QStringList>
#include <QLoggingCategory>
#include <QSet>
#include <QStringList>
#include <memory>
@@ -63,11 +63,14 @@ FilePaths QmakeProjectImporter::importCandidates()
{
FilePaths candidates{projectFilePath().absolutePath()};
QSet<FilePath> seenBaseDirs;
for (Kit *k : KitManager::kits()) {
const FilePath sbdir = QmakeBuildConfiguration::shadowBuildDirectory
(projectFilePath(), k, QString(), BuildConfiguration::Unknown);
const FilePath baseDir = sbdir.absolutePath();
if (!Utils::insert(seenBaseDirs, baseDir))
continue;
for (const FilePath &path : baseDir.dirEntries(QDir::Dirs | QDir::NoDotAndDotDot)) {
if (!candidates.contains(path))
candidates << path;