forked from qt-creator/qt-creator
Android: Automatically use the correct NDK for each Qt version
Based on change 286266, we can find a correct NDK version for Qt for Andriod version. This change allows Android plugin to get relevant NDK information and registers appropriate toolchains and kits settings. [ChangeLog][Android] Automatically use correct NDK version corresponding to used Qt version. Task-number: QTCREATORBUG-23583 Change-Id: Ic6b0d7a1ae8962c075b77498de88e018a008ac3e Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -70,7 +70,7 @@ QString AndroidQtVersion::invalidReason() const
|
||||
{
|
||||
QString tmp = BaseQtVersion::invalidReason();
|
||||
if (tmp.isEmpty()) {
|
||||
if (AndroidConfigurations::currentConfig().ndkLocation().isEmpty())
|
||||
if (AndroidConfigurations::currentConfig().ndkLocation(this).isEmpty())
|
||||
return tr("NDK is not configured in Devices > Android.");
|
||||
if (AndroidConfigurations::currentConfig().sdkLocation().isEmpty())
|
||||
return tr("SDK is not configured in Devices > Android.");
|
||||
@@ -126,16 +126,17 @@ void AndroidQtVersion::addToEnvironment(const Kit *k, Utils::Environment &env) c
|
||||
{
|
||||
const AndroidConfig &config =AndroidConfigurations::currentConfig();
|
||||
// this env vars are used by qmake mkspecs to generate makefiles (check QTDIR/mkspecs/android-g++/qmake.conf for more info)
|
||||
env.set(QLatin1String("ANDROID_NDK_HOST"), config.toolchainHost());
|
||||
env.set(QLatin1String("ANDROID_NDK_ROOT"), config.ndkLocation().toUserOutput());
|
||||
env.set(QLatin1String("ANDROID_NDK_HOST"), config.toolchainHost(this));
|
||||
env.set(QLatin1String("ANDROID_NDK_ROOT"), config.ndkLocation(this).toUserOutput());
|
||||
env.set(QLatin1String("ANDROID_NDK_PLATFORM"),
|
||||
config.bestNdkPlatformMatch(qMax(minimumNDK(), AndroidManager::minimumSDK(k))));
|
||||
config.bestNdkPlatformMatch(qMax(minimumNDK(), AndroidManager::minimumSDK(k)), this));
|
||||
}
|
||||
|
||||
Utils::Environment AndroidQtVersion::qmakeRunEnvironment() const
|
||||
{
|
||||
Utils::Environment env = Utils::Environment::systemEnvironment();
|
||||
env.set(QLatin1String("ANDROID_NDK_ROOT"), AndroidConfigurations::currentConfig().ndkLocation().toUserOutput());
|
||||
env.set(QLatin1String("ANDROID_NDK_ROOT"),
|
||||
AndroidConfigurations::currentConfig().ndkLocation(this).toUserOutput());
|
||||
return env;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user