diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp index 69d88452fa4..91f656dd8b1 100644 --- a/src/plugins/qt4projectmanager/qmakestep.cpp +++ b/src/plugins/qt4projectmanager/qmakestep.cpp @@ -457,17 +457,7 @@ QString QMakeStep::mkspec() } } - QtSupport::BaseQtVersion *version = bc->qtVersion(); - // We do not know which abi the Qt version has, so let's stick with the defaults - if (version && version->qtAbis().count() == 1 && version->qtAbis().first().isNull()) - return QString(); - - const QString tcSpec = bc->toolChain() ? bc->toolChain()->mkspec() : QString(); - if (!version) - return tcSpec; - if (!tcSpec.isEmpty() && version->hasMkspec(tcSpec)) - return tcSpec; - return version->mkspec(); + return static_cast(target())->mkspec(bc); } QVariantMap QMakeStep::toMap() const diff --git a/src/plugins/qt4projectmanager/qt4target.cpp b/src/plugins/qt4projectmanager/qt4target.cpp index f50145771c8..bc0a33c1217 100644 --- a/src/plugins/qt4projectmanager/qt4target.cpp +++ b/src/plugins/qt4projectmanager/qt4target.cpp @@ -310,6 +310,21 @@ ProjectExplorer::ToolChain *Qt4BaseTarget::preferredToolChain(ProjectExplorer::B return tcs.isEmpty() ? 0 : tcs.at(0); } +QString Qt4BaseTarget::mkspec(const Qt4BuildConfiguration *bc) const +{ + QtSupport::BaseQtVersion *version = bc->qtVersion(); + // We do not know which abi the Qt version has, so let's stick with the defaults + if (version && version->qtAbis().count() == 1 && version->qtAbis().first().isNull()) + return QString(); + + const QString tcSpec = bc->toolChain() ? bc->toolChain()->mkspec() : QString(); + if (!version) + return tcSpec; + if (!tcSpec.isEmpty() && version->hasMkspec(tcSpec)) + return tcSpec; + return version->mkspec(); +} + void Qt4BaseTarget::removeUnconfiguredCustomExectutableRunConfigurations() { if (runConfigurations().count()) { diff --git a/src/plugins/qt4projectmanager/qt4target.h b/src/plugins/qt4projectmanager/qt4target.h index 9f25795aeeb..785b824319c 100644 --- a/src/plugins/qt4projectmanager/qt4target.h +++ b/src/plugins/qt4projectmanager/qt4target.h @@ -78,12 +78,12 @@ public: // This is the same for almost all Qt4Targets // so for now offer a convience function Qt4BuildConfiguration *addQt4BuildConfiguration(QString defaultDisplayName, - QString displayName, - QtSupport::BaseQtVersion *qtversion, - QtSupport::BaseQtVersion::QmakeBuildConfigs qmakeBuildConfiguration, - QString additionalArguments, - QString directory, - bool importing); + QString displayName, + QtSupport::BaseQtVersion *qtversion, + QtSupport::BaseQtVersion::QmakeBuildConfigs qmakeBuildConfiguration, + QString additionalArguments, + QString directory, + bool importing); virtual void createApplicationProFiles() = 0; @@ -92,6 +92,8 @@ public: QList possibleToolChains(ProjectExplorer::BuildConfiguration *bc) const; ProjectExplorer::ToolChain *preferredToolChain(ProjectExplorer::BuildConfiguration *) const; + virtual QString mkspec(const Qt4BuildConfiguration *bc) const; + signals: void buildDirectoryInitialized(); /// emitted if the build configuration changed in a way that diff --git a/src/plugins/remotelinux/embeddedlinuxtarget.cpp b/src/plugins/remotelinux/embeddedlinuxtarget.cpp index 22f3782a649..5f0ef5b03ac 100644 --- a/src/plugins/remotelinux/embeddedlinuxtarget.cpp +++ b/src/plugins/remotelinux/embeddedlinuxtarget.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include @@ -72,6 +73,14 @@ QList EmbeddedLinuxTarget::runConfiguration return result; } +QString EmbeddedLinuxTarget::mkspec(const Qt4ProjectManager::Qt4BuildConfiguration *bc) const +{ + QtSupport::BaseQtVersion *version = bc->qtVersion(); + if (!version) + return QString(); + return version->mkspec(); +} + void EmbeddedLinuxTarget::createApplicationProFiles() { removeUnconfiguredCustomExectutableRunConfigurations(); diff --git a/src/plugins/remotelinux/embeddedlinuxtarget.h b/src/plugins/remotelinux/embeddedlinuxtarget.h index 181a9b5b07f..8ff273a48d8 100644 --- a/src/plugins/remotelinux/embeddedlinuxtarget.h +++ b/src/plugins/remotelinux/embeddedlinuxtarget.h @@ -55,6 +55,8 @@ public: QList runConfigurationsForNode(ProjectExplorer::Node *n); + QString mkspec(const Qt4ProjectManager::Qt4BuildConfiguration *bc) const; + private: Qt4ProjectManager::Qt4BuildConfigurationFactory *m_buildConfigurationFactory;