diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2023-05-02 14:24:56 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2023-05-02 15:04:30 +0000 |
commit | 6bf6b89fe801aae10a8391d4ec0f1ed66b2cf34e (patch) | |
tree | 33ad4e52db08b8bc75bf78c7aadd93dc3f61dd0d | |
parent | ba5e09f03f27e9454794e1658a764c3ad67ed946 (diff) | |
download | qt-creator-6bf6b89fe801aae10a8391d4ec0f1ed66b2cf34e.tar.gz |
GenericProjectManager: Do not make every subdir an include dir
Large projects can have thousands of subdirectories, only a tiny subset
of which are supposed to be include directories. Use the directory name
as a heuristic instead.
Fixes: QTCREATORBUG-29099
Change-Id: I207ea2b7d2739c4f6c27fa96865dfde2570caf8a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r-- | src/plugins/genericprojectmanager/genericproject.cpp | 5 | ||||
-rw-r--r-- | src/plugins/genericprojectmanager/genericprojectwizard.cpp | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 518b765bcb..fbe77e74a9 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -330,8 +330,9 @@ bool GenericBuildSystem::addFiles(Node *, const FilePaths &filePaths_, FilePaths QSet<QString> toAdd; for (const QString &filePath : filePaths) { - const QString directory = QFileInfo(filePath).absolutePath(); - if (!includes.contains(directory)) + const QFileInfo fi(filePath); + const QString directory = fi.absolutePath(); + if (fi.fileName() == "include" && !includes.contains(directory)) toAdd << directory; } diff --git a/src/plugins/genericprojectmanager/genericprojectwizard.cpp b/src/plugins/genericprojectmanager/genericprojectwizard.cpp index 27d2a3932b..1f125ff321 100644 --- a/src/plugins/genericprojectmanager/genericprojectwizard.cpp +++ b/src/plugins/genericprojectmanager/genericprojectwizard.cpp @@ -141,6 +141,8 @@ Core::GeneratedFiles GenericProjectWizard::generateFiles(const QWizard *w, const QDir dir(projectPath.toString()); for (const QString &path : paths) { QFileInfo fileInfo(path); + if (fileInfo.fileName() != "include") + continue; QDir thisDir(fileInfo.absoluteFilePath()); if (! thisDir.entryList(nameFilters, QDir::Files).isEmpty()) { |