diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp index 01ce341880e..bc2c499c236 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.cpp +++ b/src/plugins/projectexplorer/abstractprocessstep.cpp @@ -188,6 +188,14 @@ void AbstractProcessStep::run(QFutureInterface &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 &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();