diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h index b347a69d0c86cde666b40bacf2c0a2155badd4ff..b1b3d10337274c36570433643000bc7300e20030 100644 --- a/src/plugins/projectexplorer/toolchain.h +++ b/src/plugins/projectexplorer/toolchain.h @@ -88,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 Project *project) const = 0; + virtual QString defaultMakeTarget() const = 0; ToolChain(); virtual ~ToolChain(); @@ -118,7 +118,7 @@ public: virtual void addToEnvironment(ProjectExplorer::Environment &env); virtual ToolChainType type() const; virtual QString makeCommand() const; - virtual QString defaultMakeTarget(const Project *) const { return ""; } + virtual QString defaultMakeTarget() const { return ""; } protected: virtual bool equals(ToolChain *other) const; @@ -152,7 +152,7 @@ public: virtual void addToEnvironment(ProjectExplorer::Environment &env); virtual ToolChainType type() const; virtual QString makeCommand() const; - virtual QString defaultMakeTarget(const Project *) const { return ""; } + virtual QString defaultMakeTarget() 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 dd2704ef8b22a4abc98dc91820f835705d057412..d72bfcced7fcbc5992b90806d617f4e44067ed36 100644 --- a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp @@ -121,12 +121,12 @@ QString GCCEToolChain::makeCommand() const return "make"; } -QString GCCEToolChain::defaultMakeTarget(const Project *project) const +QString GCCEToolChain::defaultMakeTarget() const { - const Qt4Project *qt4project = qobject_cast<const Qt4Project *>(project); + const Qt4Project *qt4project = qobject_cast<const Qt4Project *>(m_project); if (qt4project) { if (!(QtVersion::QmakeBuildConfig(qt4project->qmakeStep()->value( - project->activeBuildConfiguration(), + qt4project->activeBuildConfiguration(), "buildConfiguration").toInt()) & QtVersion::DebugBuild)) { return "release-gcce"; } @@ -140,3 +140,8 @@ bool GCCEToolChain::equals(ToolChain *other) const && m_deviceId == static_cast<GCCEToolChain *>(other)->m_deviceId && m_deviceName == static_cast<GCCEToolChain *>(other)->m_deviceName); } + +void GCCEToolChain::setProject(const ProjectExplorer::Project *project) +{ + m_project = project; +} diff --git a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h index be27ad5176aafed118889664597b6e350c6d39b2..63c38b1defc57bbcb838d4cba91b36cb5702c2ac 100644 --- a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h +++ b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.h @@ -18,7 +18,9 @@ public: void addToEnvironment(ProjectExplorer::Environment &env); ProjectExplorer::ToolChain::ToolChainType type() const; QString makeCommand() const; - QString defaultMakeTarget(const ProjectExplorer::Project *project) const; + QString defaultMakeTarget() const; + + void setProject(const ProjectExplorer::Project *project); protected: bool equals(ToolChain *other) const; @@ -29,6 +31,7 @@ private: QString m_deviceRoot; QByteArray m_predefinedMacros; QList<ProjectExplorer::HeaderPath> m_systemHeaderPaths; + const ProjectExplorer::Project *m_project; }; } // namespace Internal diff --git a/src/plugins/qt4projectmanager/qt-s60/qt-s60-todo.txt b/src/plugins/qt4projectmanager/qt-s60/qt-s60-todo.txt index 829762183cc55c3cd6ef686dd28fc12ff4d6dea1..7dc3c3c6072c97ddaa58a5d4d04c558cb2d31fde 100644 --- a/src/plugins/qt4projectmanager/qt-s60/qt-s60-todo.txt +++ b/src/plugins/qt4projectmanager/qt-s60/qt-s60-todo.txt @@ -8,10 +8,6 @@ * gui for overriding the default make target if necessary, make arguments --> make options * more general "debug / release" configuration to be used in toolchain??? - * tool chain instance should move to qt4project again, qt version defines - the possible tool chains, and possibly the tool chain creation, but not - the currently used one; we can probably get rid of the project parameter - of ToolChain::defaultMakeTarget then as well * build parser should be defined/created by toolchain, not make step * Debugging helpers diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp index 3ff84faff0dc426e94fb19ff547506d9e4dd0e43..d96569c29e72b71d1d637c9ca020d4de387bbf76 100644 --- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp @@ -70,7 +70,7 @@ QString WINSCWToolChain::makeCommand() const return "make"; } -QString WINSCWToolChain::defaultMakeTarget(const Project *) const +QString WINSCWToolChain::defaultMakeTarget() const { return "debug-winscw"; } diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h index a1b331acd19c91b17c162a613162f3b7752a5d23..c353954d552bcefc28346c4ddccf26c493670e04 100644 --- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h +++ b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.h @@ -18,7 +18,7 @@ public: void addToEnvironment(ProjectExplorer::Environment &env); ProjectExplorer::ToolChain::ToolChainType type() const; QString makeCommand() const; - QString defaultMakeTarget(const ProjectExplorer::Project *) const; + QString defaultMakeTarget() const; protected: bool equals(ToolChain *other) const; diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index d0757653be5cd1d7e805f08713156c56caf1c005..c4426a61e491e515588440ad841421617ce3893a 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -43,6 +43,10 @@ #include "projectloadwizard.h" #include "qtversionmanager.h" +#ifdef QTCREATOR_WITH_S60 +#include "qt-s60/gccetoolchain.h" +#endif + #include <coreplugin/icore.h> #include <coreplugin/messagemanager.h> #include <coreplugin/coreconstants.h> @@ -385,6 +389,11 @@ ProjectExplorer::ToolChain *Qt4Project::toolChain(const QString &buildConfigurat { if (!m_toolChain) { m_toolChain = qtVersion(buildConfiguration)->createToolChain(toolChainType(buildConfiguration)); +#ifdef QTCREATOR_WITH_S60 + if (m_toolChain->type() == ToolChain::GCCE) { + static_cast<GCCEToolChain *>(m_toolChain)->setProject(this); + } +#endif } return m_toolChain; } @@ -396,7 +405,7 @@ QString Qt4Project::makeCommand(const QString &buildConfiguration) const QString Qt4Project::defaultMakeTarget(const QString &buildConfiguration) const { - return toolChain(buildConfiguration)->defaultMakeTarget(this); + return toolChain(buildConfiguration)->defaultMakeTarget(); } void Qt4Project::updateCodeModel()