aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/abstractprocessstep.cpp
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@digia.com>2014-01-13 17:16:33 +0100
committerDaniel Teske <daniel.teske@digia.com>2014-01-14 17:36:09 +0100
commit0be88b303699bf1b7a69a0ec77c1eaa03daf1a83 (patch)
tree7599859270b0929a51d0776db691375c86b35631 /src/plugins/projectexplorer/abstractprocessstep.cpp
parent41a2059f8521355cdad55bc5ef085d89197d3706 (diff)
AbstractProcessStep: Check for existence of executable
Task-number: QTCREATORBUG-11250 Change-Id: Idba517091a633f8ff57df5a6f42fe0f03a35142d Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Diffstat (limited to 'src/plugins/projectexplorer/abstractprocessstep.cpp')
-rw-r--r--src/plugins/projectexplorer/abstractprocessstep.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp
index 01ce341880..bc2c499c23 100644
--- a/src/plugins/projectexplorer/abstractprocessstep.cpp
+++ b/src/plugins/projectexplorer/abstractprocessstep.cpp
@@ -188,6 +188,14 @@ void AbstractProcessStep::run(QFutureInterface<bool> &fi)
if (!wd.exists())
wd.mkpath(wd.absolutePath());
+ QString effectiveCommand = m_param.effectiveCommand();
+ if (!QFileInfo(effectiveCommand).exists()) {
+ processStartupFailed();
+ fi.reportResult(false);
+ emit finished();
+ return;
+ }
+
m_process = new Utils::QtcProcess();
#ifdef Q_OS_WIN
m_process->setUseCtrlCStub(true);
@@ -203,7 +211,7 @@ void AbstractProcessStep::run(QFutureInterface<bool> &fi)
connect(m_process, SIGNAL(finished(int,QProcess::ExitStatus)),
this, SLOT(slotProcessFinished(int,QProcess::ExitStatus)));
- m_process->setCommand(m_param.effectiveCommand(), m_param.effectiveArguments());
+ m_process->setCommand(effectiveCommand, m_param.effectiveArguments());
m_process->start();
if (!m_process->waitForStarted()) {
processStartupFailed();