summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp25
-rw-r--r--src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h1
2 files changed, 15 insertions, 11 deletions
diff --git a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp
index ed754db15c..5150152aae 100644
--- a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp
+++ b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp
@@ -128,18 +128,8 @@ QString DesktopQmakeRunConfiguration::disabledReason() const
void DesktopQmakeRunConfiguration::proFileUpdated(QmakeProFileNode *pro, bool success, bool parseInProgress)
{
- LocalEnvironmentAspect *aspect = extraAspect<LocalEnvironmentAspect>();
- QTC_ASSERT(aspect, return);
-
- if (m_proFilePath != pro->path()) {
- if (!parseInProgress) {
- // We depend on all .pro files for the LD_LIBRARY_PATH so we emit a signal for all .pro files
- // This can be optimized by checking whether LD_LIBRARY_PATH changed
- aspect->buildEnvironmentHasChanged();
- }
+ if (m_proFilePath != pro->path())
return;
- }
-
bool enabled = isEnabled();
QString reason = disabledReason();
m_parseSuccess = success;
@@ -149,10 +139,21 @@ void DesktopQmakeRunConfiguration::proFileUpdated(QmakeProFileNode *pro, bool su
if (!parseInProgress) {
emit effectiveTargetInformationChanged();
+ LocalEnvironmentAspect *aspect = extraAspect<LocalEnvironmentAspect>();
+ QTC_ASSERT(aspect, return);
aspect->buildEnvironmentHasChanged();
}
}
+void DesktopQmakeRunConfiguration::proFileEvaluated()
+{
+ // We depend on all .pro files for the LD_LIBRARY_PATH so we emit a signal for all .pro files
+ // This can be optimized by checking whether LD_LIBRARY_PATH changed
+ LocalEnvironmentAspect *aspect = extraAspect<LocalEnvironmentAspect>();
+ QTC_ASSERT(aspect, return);
+ aspect->buildEnvironmentHasChanged();
+}
+
void DesktopQmakeRunConfiguration::ctor()
{
setDefaultDisplayName(defaultDisplayName());
@@ -163,6 +164,8 @@ void DesktopQmakeRunConfiguration::ctor()
QmakeProject *project = static_cast<QmakeProject *>(target()->project());
connect(project, &QmakeProject::proFileUpdated,
this, &DesktopQmakeRunConfiguration::proFileUpdated);
+ connect(project, &QmakeProject::proFilesEvaluated,
+ this, &DesktopQmakeRunConfiguration::proFileEvaluated);
connect(target(), &Target::kitChanged,
this, &DesktopQmakeRunConfiguration::kitChanged);
}
diff --git a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h
index c7c30cb669..76db97837c 100644
--- a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h
+++ b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.h
@@ -107,6 +107,7 @@ signals:
private slots:
void kitChanged();
void proFileUpdated(QmakeProjectManager::QmakeProFileNode *pro, bool success, bool parseInProgress);
+ void proFileEvaluated();
protected:
DesktopQmakeRunConfiguration(ProjectExplorer::Target *parent, DesktopQmakeRunConfiguration *source);