From 7bec2253c94eca096f3f7c5d13d91c5ee3b736bb Mon Sep 17 00:00:00 2001 From: con <qtc-committer@nokia.com> Date: Tue, 9 Jun 2009 13:44:33 +0200 Subject: [PATCH] gcce toolchain needs default make target dependent on debug/release. Passing the Project to the tool chain now. Not quite sure if I like it. --- src/plugins/projectexplorer/toolchain.h | 7 ++++--- .../qt4projectmanager/qt-s60/gccetoolchain.cpp | 11 ++++++++++- src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h | 3 ++- .../qt4projectmanager/qt-s60/winscwtoolchain.cpp | 2 +- .../qt4projectmanager/qt-s60/winscwtoolchain.h | 3 ++- src/plugins/qt4projectmanager/qt4project.cpp | 2 +- src/plugins/qt4projectmanager/qtversionmanager.cpp | 2 +- 7 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h index bf303df876d..b2f31dbbbcb 100644 --- a/src/plugins/projectexplorer/toolchain.h +++ b/src/plugins/projectexplorer/toolchain.h @@ -31,6 +31,7 @@ #define TOOLCHAIN_H #include "environment.h" +#include "project.h" #include <QtCore/QString> #include <QtCore/QPair> @@ -87,7 +88,7 @@ public: virtual void addToEnvironment(ProjectExplorer::Environment &env) = 0; virtual ToolChainType type() const = 0; virtual QString makeCommand() const = 0; - virtual QString defaultMakeTarget() const = 0; + virtual QString defaultMakeTarget(const Project *project) const = 0; ToolChain(); virtual ~ToolChain(); @@ -117,7 +118,7 @@ public: virtual void addToEnvironment(ProjectExplorer::Environment &env); virtual ToolChainType type() const; virtual QString makeCommand() const; - virtual QString defaultMakeTarget() const { return ""; } + virtual QString defaultMakeTarget(const Project *) const { return ""; } protected: virtual bool equals(ToolChain *other) const; @@ -151,7 +152,7 @@ public: virtual void addToEnvironment(ProjectExplorer::Environment &env); virtual ToolChainType type() const; virtual QString makeCommand() const; - virtual QString defaultMakeTarget() const { return ""; } + virtual QString defaultMakeTarget(const Project *) const { return ""; } protected: virtual bool equals(ToolChain *other) const; QString m_name; diff --git a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp index e87728e5054..15cf53637c6 100644 --- a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp @@ -1,4 +1,5 @@ #include "gccetoolchain.h" +#include "qt4project.h" #include <coreplugin/icore.h> @@ -46,8 +47,16 @@ QString GCCEToolChain::makeCommand() const return "make"; } -QString GCCEToolChain::defaultMakeTarget() const +QString GCCEToolChain::defaultMakeTarget(const Project *project) const { + const Qt4Project *qt4project = qobject_cast<const Qt4Project *>(project); + if (qt4project) { + if (!(QtVersion::QmakeBuildConfig(qt4project->qmakeStep()->value( + project->activeBuildConfiguration(), + "buildConfiguration").toInt()) & QtVersion::DebugBuild)) { + return "release-gcce"; + } + } return "debug-gcce"; } diff --git a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h index 36f1159a5c1..be27ad5176a 100644 --- a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h +++ b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h @@ -3,6 +3,7 @@ #include "s60devices.h" +#include <projectexplorer/project.h> #include <projectexplorer/toolchain.h> namespace Qt4ProjectManager { @@ -17,7 +18,7 @@ public: void addToEnvironment(ProjectExplorer::Environment &env); ProjectExplorer::ToolChain::ToolChainType type() const; QString makeCommand() const; - QString defaultMakeTarget() const; + QString defaultMakeTarget(const ProjectExplorer::Project *project) const; protected: bool equals(ToolChain *other) const; diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp index fce6eb22857..b54b79a1d9a 100644 --- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp @@ -61,7 +61,7 @@ QString WINSCWToolChain::makeCommand() const return "make"; } -QString WINSCWToolChain::defaultMakeTarget() const +QString WINSCWToolChain::defaultMakeTarget(const Project *) const { return "debug-winscw"; } diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h index 50f81b984a1..089f9574ab4 100644 --- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h +++ b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h @@ -3,6 +3,7 @@ #include "s60devices.h" +#include <projectexplorer/project.h> #include <projectexplorer/toolchain.h> namespace Qt4ProjectManager { @@ -17,7 +18,7 @@ public: void addToEnvironment(ProjectExplorer::Environment &env); ProjectExplorer::ToolChain::ToolChainType type() const; QString makeCommand() const; - QString defaultMakeTarget() const; + QString defaultMakeTarget(const ProjectExplorer::Project *) const; protected: bool equals(ToolChain *other) const; diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 5ec3ce2d5f1..cae6dd13e58 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -382,7 +382,7 @@ QString Qt4Project::makeCommand(const QString &buildConfiguration) const QString Qt4Project::defaultMakeTarget(const QString &buildConfiguration) const { - return qtVersion(buildConfiguration)->toolChain()->defaultMakeTarget(); + return qtVersion(buildConfiguration)->toolChain()->defaultMakeTarget(this); } void Qt4Project::updateCodeModel() diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp index 6309a7ebb5d..98bcd663821 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.cpp +++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp @@ -925,7 +925,7 @@ void QtVersion::updateToolChain() const //qDebug()<<"GCC ToolChain ("<<qmake_cxx<<")"; #ifdef QTCREATOR_WITH_S60 } else if (t == ProjectExplorer::ToolChain::WINSCW) { - m_test = S60Manager::instance()->createWINSCWToolChain(this); + m_test = S60Manager::instance()->createGCCEToolChain(this); #endif } else { qDebug()<<"Could not detect ToolChain for"<<mkspec(); -- GitLab