diff options
author | Daniel Teske <daniel.teske@digia.com> | 2014-01-13 17:16:33 +0100 |
---|---|---|
committer | Daniel Teske <daniel.teske@digia.com> | 2014-01-14 17:36:09 +0100 |
commit | 0be88b303699bf1b7a69a0ec77c1eaa03daf1a83 (patch) | |
tree | 7599859270b0929a51d0776db691375c86b35631 /src/plugins/projectexplorer/abstractprocessstep.cpp | |
parent | 41a2059f8521355cdad55bc5ef085d89197d3706 (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.cpp | 10 |
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(); |