From b6257ef735d8e7700e46141a5a413c94011d2b98 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Thu, 7 Mar 2013 17:12:03 +0100 Subject: [PATCH] AndroidQtVersion: Make environment hack safer We need to set ANDROID_NDK_PLATFORM in the environment, but doing so is not really possible on a per project basis. Make the hack in AndroidQtVersion that sets ANDROID_NDK_PLATFORM safer by checking if the current project's active target is indeed using a android kit. Change-Id: Ifcdb07a19708ac6bac5f5a02caa1ff197c0e4d80 Reviewed-by: Tobias Hunger Reviewed-by: Christian Kandeler --- src/plugins/android/androidqtversion.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/plugins/android/androidqtversion.cpp b/src/plugins/android/androidqtversion.cpp index 41076699f20..91f9e30c86a 100644 --- a/src/plugins/android/androidqtversion.cpp +++ b/src/plugins/android/androidqtversion.cpp @@ -42,6 +42,7 @@ #include #include +#include #include #include @@ -115,8 +116,18 @@ void AndroidQtVersion::addToEnvironment(const ProjectExplorer::Kit *k, Utils::En if (!qt4pro || !qt4pro->activeTarget() || QtSupport::QtKitInformation::qtVersion(k)->type() != QLatin1String(Constants::ANDROIDQT)) return; + + Target *target = qt4pro->activeTarget(); + if (DeviceTypeKitInformation::deviceTypeId(target->kit()) != Constants::ANDROID_DEVICE_TYPE) + return; + if (AndroidConfigurations::instance().config().ndkLocation.isEmpty() + || AndroidConfigurations::instance().config().sdkLocation.isEmpty()) + return; + if (AndroidConfigurations::instance().sdkTargets().isEmpty()) + return; + env.set(QLatin1String("ANDROID_NDK_PLATFORM"), - AndroidConfigurations::instance().bestMatch(AndroidManager::targetSDK(qt4pro->activeTarget()))); + AndroidConfigurations::instance().bestMatch(AndroidManager::targetSDK(target))); }