forked from qt-creator/qt-creator
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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user