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:
@@ -293,22 +293,25 @@ QJsonObject AndroidManager::deploymentSettings(const Target *target)
|
||||
QJsonObject settings;
|
||||
settings["_description"] = qtcSignature;
|
||||
settings["qt"] = qt->prefix().toString();
|
||||
settings["ndk"] = AndroidConfigurations::currentConfig().ndkLocation().toString();
|
||||
settings["ndk"] = AndroidConfigurations::currentConfig().ndkLocation(qt).toString();
|
||||
settings["sdk"] = AndroidConfigurations::currentConfig().sdkLocation().toString();
|
||||
if (qt->qtVersion() < QtSupport::QtVersionNumber(5, 14, 0)) {
|
||||
const QStringList abis = applicationAbis(target);
|
||||
QTC_ASSERT(abis.size() == 1, return {});
|
||||
settings["stdcpp-path"] = AndroidConfigurations::currentConfig().toolchainPath()
|
||||
settings["stdcpp-path"] = AndroidConfigurations::currentConfig().toolchainPath(qt)
|
||||
.pathAppended("sysroot/usr/lib/")
|
||||
.pathAppended(archTriplet(abis.first()))
|
||||
.pathAppended("libc++_shared.so").toString();
|
||||
} else {
|
||||
settings["stdcpp-path"] = AndroidConfigurations::currentConfig().toolchainPath().pathAppended("sysroot/usr/lib/").toString();
|
||||
settings["stdcpp-path"] = AndroidConfigurations::currentConfig()
|
||||
.toolchainPath(qt)
|
||||
.pathAppended("sysroot/usr/lib/")
|
||||
.toString();
|
||||
}
|
||||
settings["toolchain-prefix"] = "llvm";
|
||||
settings["tool-prefix"] = "llvm";
|
||||
settings["useLLVM"] = true;
|
||||
settings["ndk-host"] = AndroidConfigurations::currentConfig().toolchainHost();
|
||||
settings["ndk-host"] = AndroidConfigurations::currentConfig().toolchainHost(qt);
|
||||
return settings;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user