diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp index 69d88452fa4717a23568cd0e593c440bf6f264a2..91f656dd8b181ad74329ca95e336774a1e63627b 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<Qt4BaseTarget *>(target())->mkspec(bc); } QVariantMap QMakeStep::toMap() const diff --git a/src/plugins/qt4projectmanager/qt4target.cpp b/src/plugins/qt4projectmanager/qt4target.cpp index f50145771c824b236052b13c2cb988c18e5b443e..bc0a33c12174cc62593506e53e68de3b1902a24b 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 9f25795aeebd0350e319da0a09cbe2cd8414c1eb..785b824319cb6f366665b89db9c2f61ff74305a7 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<ProjectExplorer::ToolChain *> 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 22f3782a649903007b83092967b2b6649df60cef..5f0ef5b03acb7a650dd00c91ee7e2fc78f9dc373 100644 --- a/src/plugins/remotelinux/embeddedlinuxtarget.cpp +++ b/src/plugins/remotelinux/embeddedlinuxtarget.cpp @@ -39,6 +39,7 @@ #include <qt4projectmanager/qt4buildconfiguration.h> #include <qt4projectmanager/qt4nodes.h> #include <qt4projectmanager/qt4project.h> +#include <qtsupport/baseqtversion.h> #include <QtCore/QCoreApplication> @@ -72,6 +73,14 @@ QList<ProjectExplorer::RunConfiguration *> 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 181a9b5b07fc843dadf66538dfe306a1df61c519..8ff273a48d8f0b4a4b243c5ded3e71346b32ebba 100644 --- a/src/plugins/remotelinux/embeddedlinuxtarget.h +++ b/src/plugins/remotelinux/embeddedlinuxtarget.h @@ -55,6 +55,8 @@ public: QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n); + QString mkspec(const Qt4ProjectManager::Qt4BuildConfiguration *bc) const; + private: Qt4ProjectManager::Qt4BuildConfigurationFactory *m_buildConfigurationFactory;