Set env vars every time.

Change-Id: I1196929031bd754dcbb7a52799dbb2d1b67df776
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
BogDan Vatra
2012-12-07 19:52:56 +02:00
committed by Daniel Teske
parent be2176f1de
commit ac3831d3ca
5 changed files with 55 additions and 16 deletions

View File

@@ -29,11 +29,24 @@
#include "androidqtversion.h"
#include "androidconstants.h"
#include "qt4projectmanager/qt4projectmanagerconstants.h"
#include "androidconfigurations.h"
#include "androidmanager.h"
#include <utils/environment.h>
#include <qt4projectmanager/qt4project.h>
#include <qt4projectmanager/qt4projectmanagerconstants.h>
#include <qtsupport/qtkitinformation.h>
#include <qtsupport/qtsupportconstants.h>
#include <qtsupport/qtversionmanager.h>
#include <projectexplorer/kit.h>
#include <projectexplorer/projectexplorer.h>
using namespace Android::Internal;
using namespace ProjectExplorer;
using namespace Qt4ProjectManager;
AndroidQtVersion::AndroidQtVersion()
: QtSupport::BaseQtVersion()
@@ -80,6 +93,31 @@ QList<ProjectExplorer::Abi> AndroidQtVersion::detectQtAbis() const
32);
}
void AndroidQtVersion::addToEnvironment(const ProjectExplorer::Kit *k, Utils::Environment &env) const
{
QString ndk_host = QLatin1String(
#if defined(Q_OS_LINUX)
"linux-x86"
#elif defined(Q_OS_WIN)
"windows"
#elif defined(Q_OS_MAC)
"darwin-x86"
#endif
);
// 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"), ndk_host);
env.set(QLatin1String("ANDROID_NDK_ROOT"), AndroidConfigurations::instance().config().ndkLocation.toUserOutput());
Qt4Project *qt4pro = qobject_cast<Qt4ProjectManager::Qt4Project *>(ProjectExplorerPlugin::instance()->currentProject());
if (!qt4pro || !qt4pro->activeTarget()
|| QtSupport::QtKitInformation::qtVersion(k)->type() != QLatin1String(Constants::ANDROIDQT))
return;
env.set(QLatin1String("ANDROID_NDK_PLATFORM"),
AndroidConfigurations::instance().bestMatch(AndroidManager::targetSDK(qt4pro->activeTarget())));
}
QString AndroidQtVersion::description() const
{
//: Qt Version is meant for Android