diff --git a/src/plugins/qnx/qnxqtversion.cpp b/src/plugins/qnx/qnxqtversion.cpp index 3c704bb4214..1f134feb155 100644 --- a/src/plugins/qnx/qnxqtversion.cpp +++ b/src/plugins/qnx/qnxqtversion.cpp @@ -95,14 +95,10 @@ Utils::FilePath QnxQtVersion::qnxTarget() const QString QnxQtVersion::cpuDir() const { - ensureMkSpecParsed(); - return m_cpuDir; -} - -void QnxQtVersion::parseMkSpec(ProFileEvaluator *evaluator) const -{ - m_cpuDir = evaluator->value(QLatin1String("QNX_CPUDIR")); - BaseQtVersion::parseMkSpec(evaluator); + const Abis abis = qtAbis(); + if (abis.empty()) + return QString(); + return QnxUtils::cpuDirFromAbi(abis.at(0)); } QVariantMap QnxQtVersion::toMap() const diff --git a/src/plugins/qnx/qnxqtversion.h b/src/plugins/qnx/qnxqtversion.h index d41e19852ca..c12da8b5662 100644 --- a/src/plugins/qnx/qnxqtversion.h +++ b/src/plugins/qnx/qnxqtversion.h @@ -67,9 +67,6 @@ public: QString sdpPath() const; void setSdpPath(const QString &sdpPath); -protected: - void parseMkSpec(ProFileEvaluator *) const override; - private: void updateEnvironment() const; diff --git a/src/plugins/qnx/qnxutils.cpp b/src/plugins/qnx/qnxutils.cpp index f45764c4e04..404bcb99bb1 100644 --- a/src/plugins/qnx/qnxutils.cpp +++ b/src/plugins/qnx/qnxutils.cpp @@ -56,6 +56,17 @@ QString QnxUtils::addQuotes(const QString &string) return QLatin1Char('"') + string + QLatin1Char('"'); } +QString QnxUtils::cpuDirFromAbi(const Abi &abi) +{ + if (abi.os() != Abi::OS::QnxOS) + return QString(); + if (abi.architecture() == Abi::Architecture::ArmArchitecture) + return QString::fromLatin1(abi.wordWidth() == 32 ? "armle-v7" : "aarch64le"); + if (abi.architecture() == Abi::Architecture::X86Architecture) + return QString::fromLatin1(abi.wordWidth() == 32 ? "x86" : "x86_64"); + return QString(); +} + QString QnxUtils::cpuDirShortDescription(const QString &cpuDir) { if (cpuDir == "armle-v7") diff --git a/src/plugins/qnx/qnxutils.h b/src/plugins/qnx/qnxutils.h index 63ef5dd86ed..5ebf1534f29 100644 --- a/src/plugins/qnx/qnxutils.h +++ b/src/plugins/qnx/qnxutils.h @@ -69,6 +69,7 @@ class QnxUtils { public: static QString addQuotes(const QString &string); + static QString cpuDirFromAbi(const ProjectExplorer::Abi &abi); static QString cpuDirShortDescription(const QString &cpuDir); static Utils::EnvironmentItems qnxEnvironmentFromEnvFile(const QString &fileName); static QString envFilePath(const QString &sdpPath);