diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h index bf303df876dffc1522db9e9925932087a7811c5c..b2f31dbbbcbfc7ed3a0d8a23b5272f3be5cef20a 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 e87728e5054ddb387bafbe074cb9c16021b40c86..15cf53637c67f086b9b047aefd39da162bd7d76c 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 36f1159a5c198730270a754f3d959f2d02b6934d..be27ad5176aafed118889664597b6e350c6d39b2 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 fce6eb22857dc5b458512594027ec9c4708ee6a4..b54b79a1d9a58e1c0aac93c4296c0a08ec21d5e2 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 50f81b984a1b93ab550f0ef41b4d3d7038d5f414..089f9574ab4cca4d1ad069f08c07f425745599c2 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 5ec3ce2d5f18ba28633983cb21c8c9cd94e73b31..cae6dd13e5827fc02890cf4856677bf97a87708b 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 6309a7ebb5d275a3831d18c6cffe9e5726c865b7..98bcd663821b09625dc85fbba581869cb9e826be 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();