From 0dc21f42729585ed092178ef766b9236ba3049c2 Mon Sep 17 00:00:00 2001 From: dt Date: Wed, 8 Apr 2009 11:49:24 +0200 Subject: [PATCH] Add ToolChain paths to the building of the debuggign helper Ugly as hell, that code needs a refactoring once 1.1 is out. --- .../qt4projectmanager/qtversionmanager.cpp | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp index a716fed9e2b..abded6110f1 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.cpp +++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp @@ -1375,6 +1375,12 @@ bool QtVersion::hasDebuggingHelper() const return m_hasDebuggingHelper; } + +// TODO buildDebuggingHelperLibrary needs to be accessible outside of the +// qt4versionmanager +// That probably means moving qt4version management into either the projectexplorer +// (The Projectexplorer plugin probably needs some splitting up, most of the stuff +// could be in a plugin shared by qt4projectmanager, cmakemanager and debugger.) QString QtVersion::buildDebuggingHelperLibrary() { // Locations to try: @@ -1420,6 +1426,21 @@ QString QtVersion::buildDebuggingHelperLibrary() ProjectExplorer::Environment env = ProjectExplorer::Environment::systemEnvironment(); addToEnvironment(env); + // TODO this is a hack to get, to be removed and rewritten for 1.2 + // + // For MSVC and MINGW, we need a toolchain to get the right environment + ProjectExplorer::ToolChain *toolChain = 0; + ProjectExplorer::ToolChain::ToolChainType t = toolchainType(); + if (t == ProjectExplorer::ToolChain::MinGW) + toolChain = ProjectExplorer::ToolChain::createMinGWToolChain("g++", mingwDirectory()); + else if(t == ProjectExplorer::ToolChain::MSVC) + toolChain = ProjectExplorer::ToolChain::createMSVCToolChain(msvcVersion()); + if (toolChain) { + toolChain->addToEnvironment(env); + delete toolChain; + toolChain = 0; + } + qmake.setEnvironment(env.toStringList()); qmake.setWorkingDirectory(directory); qmake.setProcessChannelMode(QProcess::MergedChannels); @@ -1437,7 +1458,6 @@ QString QtVersion::buildDebuggingHelperLibrary() // and think about how to fix that later QString make; - ProjectExplorer::ToolChain::ToolChainType t = toolchainType(); if (t == ProjectExplorer::ToolChain::MinGW) make = "mingw32-make.exe"; else if(t == ProjectExplorer::ToolChain::MSVC || t == ProjectExplorer::ToolChain::WINCE)