summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcus Tillmanns <marcus.tillmanns@qt.io>2022-10-20 15:35:38 +0200
committerMarcus Tillmanns <marcus.tillmanns@qt.io>2022-10-26 11:47:49 +0000
commit38c8e200710eb1c452705f2451e4f6260b3309fa (patch)
tree87a13ec8b5a9a6aeb1628df9730b34ad385d29c9 /src
parent91257b3e760f925ef25ae675beac7a6fe8a3f740 (diff)
downloadqt-creator-38c8e200710eb1c452705f2451e4f6260b3309fa.tar.gz
QMake: Remove unnecessary build dir changed
Previously every time a qmake project was built, the "buildDirectoryChanged()" was emitted, leading to a complete reparse of the project file, tests, qml files and qml imports. To keep "QmakeBuildConfiguration::updateProblemLabel" be called, we re-introduce the "buildDirectoryInitialized" signal. Task-number: QTCREATORBUG-27785 Change-Id: I32d881eacb8cf26050c33da643c74c2cab4dc22d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/projectexplorer/buildconfiguration.h1
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp2
-rw-r--r--src/plugins/qmakeprojectmanager/qmakestep.cpp2
3 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h
index 59649e5def..815daeda6b 100644
--- a/src/plugins/projectexplorer/buildconfiguration.h
+++ b/src/plugins/projectexplorer/buildconfiguration.h
@@ -116,6 +116,7 @@ public:
signals:
void environmentChanged();
+ void buildDirectoryInitialized();
void buildDirectoryChanged();
void enabledChanged();
void buildTypeChanged();
diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
index 899ed4e4a4..c1cb54d3e1 100644
--- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
@@ -153,6 +153,8 @@ QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Id id)
});
buildDirectoryAspect()->allowInSourceBuilds(target->project()->projectDirectory());
+ connect(this, &BuildConfiguration::buildDirectoryInitialized,
+ this, &QmakeBuildConfiguration::updateProblemLabel);
connect(this, &BuildConfiguration::buildDirectoryChanged,
this, &QmakeBuildConfiguration::updateProblemLabel);
connect(this, &QmakeBuildConfiguration::qmakeBuildConfigurationChanged,
diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp
index f29e0abb64..0a075eb323 100644
--- a/src/plugins/qmakeprojectmanager/qmakestep.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp
@@ -306,7 +306,7 @@ bool QMakeStep::processSucceeded(int exitCode, QProcess::ExitStatus status)
bool result = AbstractProcessStep::processSucceeded(exitCode, status);
if (!result)
m_needToRunQMake = true;
- emit buildConfiguration()->buildDirectoryChanged();
+ emit buildConfiguration()->buildDirectoryInitialized();
return result;
}