Qt4Project: Check the Makefile after we know the right file

The .pro file can change the Makefile so we need to postpone the
evaluation until after the parsing is done.

Task-number: QTCREATORBUG-8154
Change-Id: I212899311354e67f711db0cb6a3a78f0c369bb81
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Daniel Teske
2013-01-11 15:36:33 +01:00
parent ab74bf651a
commit 2819923daf

View File

@@ -35,6 +35,7 @@
#include "qt4projectmanagerconstants.h" #include "qt4projectmanagerconstants.h"
#include "qt4projectmanager.h" #include "qt4projectmanager.h"
#include "qt4buildconfiguration.h" #include "qt4buildconfiguration.h"
#include "qt4nodes.h"
#include "ui_qt4projectconfigwidget.h" #include "ui_qt4projectconfigwidget.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
@@ -94,6 +95,7 @@ Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4BuildConfiguration *bc)
Qt4Project *project = static_cast<Qt4Project *>(bc->target()->project()); Qt4Project *project = static_cast<Qt4Project *>(bc->target()->project());
connect(project, SIGNAL(environmentChanged()), this, SLOT(environmentChanged())); connect(project, SIGNAL(environmentChanged()), this, SLOT(environmentChanged()));
connect(project, SIGNAL(buildDirectoryInitialized()), this, SLOT(updateProblemLabel())); connect(project, SIGNAL(buildDirectoryInitialized()), this, SLOT(updateProblemLabel()));
connect(project, SIGNAL(proFilesEvaluated()), this, SLOT(updateProblemLabel()));
connect(bc->target(), SIGNAL(kitChanged()), this, SLOT(updateProblemLabel())); connect(bc->target(), SIGNAL(kitChanged()), this, SLOT(updateProblemLabel()));
@@ -198,6 +200,12 @@ void Qt4ProjectConfigWidget::updateProblemLabel()
return; return;
} }
Qt4Project *p = static_cast<Qt4Project *>(m_buildConfiguration->target()->project());
if (p->rootQt4ProjectNode()->parseInProgress() || !p->rootQt4ProjectNode()->validParse()) {
setProblemLabel(QString());
return;
}
bool targetMismatch = false; bool targetMismatch = false;
bool incompatibleBuild = false; bool incompatibleBuild = false;
bool allGood = false; bool allGood = false;