forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -116,6 +116,7 @@ public:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void environmentChanged();
|
void environmentChanged();
|
||||||
|
void buildDirectoryInitialized();
|
||||||
void buildDirectoryChanged();
|
void buildDirectoryChanged();
|
||||||
void enabledChanged();
|
void enabledChanged();
|
||||||
void buildTypeChanged();
|
void buildTypeChanged();
|
||||||
|
@@ -153,6 +153,8 @@ QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Id id)
|
|||||||
});
|
});
|
||||||
|
|
||||||
buildDirectoryAspect()->allowInSourceBuilds(target->project()->projectDirectory());
|
buildDirectoryAspect()->allowInSourceBuilds(target->project()->projectDirectory());
|
||||||
|
connect(this, &BuildConfiguration::buildDirectoryInitialized,
|
||||||
|
this, &QmakeBuildConfiguration::updateProblemLabel);
|
||||||
connect(this, &BuildConfiguration::buildDirectoryChanged,
|
connect(this, &BuildConfiguration::buildDirectoryChanged,
|
||||||
this, &QmakeBuildConfiguration::updateProblemLabel);
|
this, &QmakeBuildConfiguration::updateProblemLabel);
|
||||||
connect(this, &QmakeBuildConfiguration::qmakeBuildConfigurationChanged,
|
connect(this, &QmakeBuildConfiguration::qmakeBuildConfigurationChanged,
|
||||||
|
@@ -306,7 +306,7 @@ bool QMakeStep::processSucceeded(int exitCode, QProcess::ExitStatus status)
|
|||||||
bool result = AbstractProcessStep::processSucceeded(exitCode, status);
|
bool result = AbstractProcessStep::processSucceeded(exitCode, status);
|
||||||
if (!result)
|
if (!result)
|
||||||
m_needToRunQMake = true;
|
m_needToRunQMake = true;
|
||||||
emit buildConfiguration()->buildDirectoryChanged();
|
emit buildConfiguration()->buildDirectoryInitialized();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user