diff options
author | hjk <hjk@qt.io> | 2022-09-27 08:32:08 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2022-09-28 06:10:48 +0000 |
commit | 52e8b83bd55cb65bdec6399cbefb9b9f8ed1e18b (patch) | |
tree | a33d03fa580ee3b8cb2cab28001b360ef1a8b8d9 | |
parent | 6ff6fe3b0e2569dc58d17a926e78d840ed14979c (diff) | |
download | qt-creator-52e8b83bd55cb65bdec6399cbefb9b9f8ed1e18b.tar.gz |
Android: Code cosmetics in ToolChain
Avoid a global static that doesn't buy much; some namespace changes.
Change-Id: I80d0f5c0e6c7a77e91930ec198c39080b6c7404a
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
-rw-r--r-- | src/plugins/android/androidtoolchain.cpp | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp index 3356ee1eb6..7d3763c2fb 100644 --- a/src/plugins/android/androidtoolchain.cpp +++ b/src/plugins/android/androidtoolchain.cpp @@ -11,19 +11,15 @@ #include <utils/environment.h> -#include <QFileInfo> #include <QLoggingCategory> - -namespace { -static Q_LOGGING_CATEGORY(androidTCLog, "qtc.android.toolchainmanagement", QtWarningMsg); -} +using namespace ProjectExplorer; +using namespace Utils; namespace Android { namespace Internal { -using namespace ProjectExplorer; -using namespace Utils; +static Q_LOGGING_CATEGORY(androidTCLog, "qtc.android.toolchainmanagement", QtWarningMsg); using ClangTargetsType = QHash<QString, Abi>; Q_GLOBAL_STATIC_WITH_ARGS(ClangTargetsType, ClangTargets, ({ @@ -37,14 +33,10 @@ Q_GLOBAL_STATIC_WITH_ARGS(ClangTargetsType, ClangTargets, ({ Abi(Abi::ArmArchitecture, Abi::LinuxOS, Abi::AndroidLinuxFlavor, Abi::ElfFormat, 64)}} )); -Q_GLOBAL_STATIC_WITH_ARGS(QList<Utils::Id>, LanguageIds, ( - {ProjectExplorer::Constants::CXX_LANGUAGE_ID, - ProjectExplorer::Constants::C_LANGUAGE_ID})) - -static ToolChain *findToolChain(Utils::FilePath &compilerPath, Utils::Id lang, const QString &target, +static ToolChain *findToolChain(FilePath &compilerPath, Id lang, const QString &target, const ToolChainList &alreadyKnown) { - ToolChain * tc = Utils::findOrDefault(alreadyKnown, [target, compilerPath, lang](ToolChain *tc) { + ToolChain *tc = Utils::findOrDefault(alreadyKnown, [target, compilerPath, lang](ToolChain *tc) { return tc->typeId() == Constants::ANDROID_TOOLCHAIN_TYPEID && tc->language() == lang && tc->targetAbi() == ClangTargets->value(target) @@ -59,12 +51,12 @@ AndroidToolChain::AndroidToolChain() setTypeDisplayName(AndroidToolChain::tr("Android Clang")); } -Utils::FilePath AndroidToolChain::ndkLocation() const +FilePath AndroidToolChain::ndkLocation() const { return m_ndkLocation; } -void AndroidToolChain::setNdkLocation(const Utils::FilePath &ndkLocation) +void AndroidToolChain::setNdkLocation(const FilePath &ndkLocation) { m_ndkLocation = ndkLocation; } @@ -96,7 +88,7 @@ void AndroidToolChain::addToEnvironment(Environment &env) const { const AndroidConfig &config = AndroidConfigurations::currentConfig(); env.set(QLatin1String("ANDROID_NDK_HOST"), config.toolchainHostFromNdk(m_ndkLocation)); - const Utils::FilePath javaHome = config.openJDKLocation(); + const FilePath javaHome = config.openJDKLocation(); if (javaHome.exists()) { env.set(Constants::JAVA_HOME_ENV_VAR, javaHome.toUserOutput()); const FilePath javaBin = javaHome.pathAppended("bin"); @@ -175,19 +167,24 @@ static FilePaths uniqueNdksForCurrentQtVersions() ToolChainList AndroidToolChainFactory::autodetectToolChains(const ToolChainList &alreadyKnown) { - const QList<Utils::FilePath> uniqueNdks = uniqueNdksForCurrentQtVersions(); + const QList<FilePath> uniqueNdks = uniqueNdksForCurrentQtVersions(); return autodetectToolChainsFromNdks(alreadyKnown, uniqueNdks); } ToolChainList AndroidToolChainFactory::autodetectToolChainsFromNdks( const ToolChainList &alreadyKnown, - const QList<Utils::FilePath> &ndkLocations, + const QList<FilePath> &ndkLocations, const bool isCustom) { QList<ToolChain *> result; const AndroidConfig config = AndroidConfigurations::currentConfig(); - for (const Utils::FilePath &ndkLocation : ndkLocations) { + const Id LanguageIds[] { + ProjectExplorer::Constants::CXX_LANGUAGE_ID, + ProjectExplorer::Constants::C_LANGUAGE_ID + }; + + for (const FilePath &ndkLocation : ndkLocations) { FilePath clangPath = config.clangPathFromNdk(ndkLocation); if (!clangPath.exists()) { qCDebug(androidTCLog) << "Clang toolchains detection fails. Can not find Clang" @@ -195,7 +192,7 @@ ToolChainList AndroidToolChainFactory::autodetectToolChainsFromNdks( continue; } - for (const Utils::Id &lang : *LanguageIds) { + for (const Id &lang : LanguageIds) { FilePath compilerCommand = clangPath; if (lang == ProjectExplorer::Constants::CXX_LANGUAGE_ID) compilerCommand = clangPlusPlusPath(clangPath); |