diff --git a/src/plugins/projectexplorer/applicationlauncher_win.cpp b/src/plugins/projectexplorer/applicationlauncher_win.cpp index fcd913859b478c037855ab488608273613376c25..d383ec9e0a15b8a95aeb183b06b1ba51554605c7 100644 --- a/src/plugins/projectexplorer/applicationlauncher_win.cpp +++ b/src/plugins/projectexplorer/applicationlauncher_win.cpp @@ -35,6 +35,8 @@ #include "consoleprocess.h" #include "winguiprocess.h" +#include <utils/winutils.h> + #include <QtCore/QDebug> namespace ProjectExplorer { @@ -69,8 +71,16 @@ ApplicationLauncher::~ApplicationLauncher() void ApplicationLauncher::setWorkingDirectory(const QString &dir) { - d->m_winGuiProcess.setWorkingDirectory(dir); - d->m_consoleProcess.setWorkingDirectory(dir); + QString fixedPath = dir; + QString error; + + // Work around QTBUG-17529 (QtDeclarative fails with 'File name case mismatch' ...) + const QString longPath = Utils::getLongPathName(dir, &error); + if (!longPath.isEmpty()) + fixedPath = longPath; + + d->m_winGuiProcess.setWorkingDirectory(fixedPath); + d->m_consoleProcess.setWorkingDirectory(fixedPath); } void ApplicationLauncher::setEnvironment(const Utils::Environment &env)