forked from qt-creator/qt-creator
Android: Extra search directory to find make on windows
The sdk should set that extra directory, via the sdktool. E. g. something like sdktool addKeys android MakeExtraSearchDirectory QString:%DIRECTORY% where %DIRECTORY% is the bin directory of the bundled mingw. That is Tools\MinGW\bin for the qt sdk. Also see: Task-number: QTCREATORBUG-9297 Change-Id: I487c67b7fb704dd00cf5c6f4f647c8c4fbe8cd3d Reviewed-by: Ray Donnelly <mingw.android@gmail.com> Reviewed-by: Iikka Eklund <iikka.eklund@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
This commit is contained in:
@@ -81,6 +81,7 @@ namespace {
|
|||||||
const QLatin1String OpenJDKLocationKey("OpenJDKLocation");
|
const QLatin1String OpenJDKLocationKey("OpenJDKLocation");
|
||||||
const QLatin1String KeystoreLocationKey("KeystoreLocation");
|
const QLatin1String KeystoreLocationKey("KeystoreLocation");
|
||||||
const QLatin1String AutomaticKitCreationKey("AutomatiKitCreation");
|
const QLatin1String AutomaticKitCreationKey("AutomatiKitCreation");
|
||||||
|
const QLatin1String MakeExtraSearchDirectory("MakeExtraSearchDirectory");
|
||||||
const QLatin1String PartitionSizeKey("PartitionSize");
|
const QLatin1String PartitionSizeKey("PartitionSize");
|
||||||
const QLatin1String ToolchainHostKey("ToolchainHost");
|
const QLatin1String ToolchainHostKey("ToolchainHost");
|
||||||
const QLatin1String ArmToolchainPrefix("arm-linux-androideabi");
|
const QLatin1String ArmToolchainPrefix("arm-linux-androideabi");
|
||||||
@@ -156,6 +157,11 @@ AndroidConfig::AndroidConfig(const QSettings &settings)
|
|||||||
keystoreLocation = FileName::fromString(settings.value(KeystoreLocationKey).toString());
|
keystoreLocation = FileName::fromString(settings.value(KeystoreLocationKey).toString());
|
||||||
toolchainHost = settings.value(ToolchainHostKey).toString();
|
toolchainHost = settings.value(ToolchainHostKey).toString();
|
||||||
automaticKitCreation = settings.value(AutomaticKitCreationKey, true).toBool();
|
automaticKitCreation = settings.value(AutomaticKitCreationKey, true).toBool();
|
||||||
|
QString extraDirectory = settings.value(MakeExtraSearchDirectory).toString();
|
||||||
|
if (extraDirectory.isEmpty())
|
||||||
|
makeExtraSearchDirectories = QStringList();
|
||||||
|
else
|
||||||
|
makeExtraSearchDirectories << extraDirectory;
|
||||||
|
|
||||||
PersistentSettingsReader reader;
|
PersistentSettingsReader reader;
|
||||||
if (reader.load(FileName::fromString(sdkSettingsFileName()))
|
if (reader.load(FileName::fromString(sdkSettingsFileName()))
|
||||||
@@ -170,6 +176,11 @@ AndroidConfig::AndroidConfig(const QSettings &settings)
|
|||||||
QVariant v = reader.restoreValue(AutomaticKitCreationKey);
|
QVariant v = reader.restoreValue(AutomaticKitCreationKey);
|
||||||
if (v.isValid())
|
if (v.isValid())
|
||||||
automaticKitCreation = v.toBool();
|
automaticKitCreation = v.toBool();
|
||||||
|
QString extraDirectory = reader.restoreValue(MakeExtraSearchDirectory).toString();
|
||||||
|
if (extraDirectory.isEmpty())
|
||||||
|
makeExtraSearchDirectories = QStringList();
|
||||||
|
else
|
||||||
|
makeExtraSearchDirectories << extraDirectory;
|
||||||
// persistent settings
|
// persistent settings
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -599,6 +610,11 @@ QString AndroidConfigurations::bestMatch(const QString &targetAPI) const
|
|||||||
return QLatin1String("android-8");
|
return QLatin1String("android-8");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList AndroidConfigurations::makeExtraSearchDirectories() const
|
||||||
|
{
|
||||||
|
return m_config.makeExtraSearchDirectories;
|
||||||
|
}
|
||||||
|
|
||||||
bool equalKits(Kit *a, Kit *b)
|
bool equalKits(Kit *a, Kit *b)
|
||||||
{
|
{
|
||||||
return ToolChainKitInformation::toolChain(a) == ToolChainKitInformation::toolChain(b)
|
return ToolChainKitInformation::toolChain(a) == ToolChainKitInformation::toolChain(b)
|
||||||
|
@@ -32,6 +32,7 @@
|
|||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
#include <QStringList>
|
||||||
#include <QVector>
|
#include <QVector>
|
||||||
#include <projectexplorer/abi.h>
|
#include <projectexplorer/abi.h>
|
||||||
|
|
||||||
@@ -55,6 +56,7 @@ public:
|
|||||||
Utils::FileName openJDKLocation;
|
Utils::FileName openJDKLocation;
|
||||||
Utils::FileName keystoreLocation;
|
Utils::FileName keystoreLocation;
|
||||||
QString toolchainHost;
|
QString toolchainHost;
|
||||||
|
QStringList makeExtraSearchDirectories;
|
||||||
unsigned partitionSize;
|
unsigned partitionSize;
|
||||||
bool automaticKitCreation;
|
bool automaticKitCreation;
|
||||||
};
|
};
|
||||||
@@ -97,6 +99,8 @@ public:
|
|||||||
QString startAVD(int *apiLevel, const QString &name = QString()) const;
|
QString startAVD(int *apiLevel, const QString &name = QString()) const;
|
||||||
QString bestMatch(const QString &targetAPI) const;
|
QString bestMatch(const QString &targetAPI) const;
|
||||||
|
|
||||||
|
QStringList makeExtraSearchDirectories() const;
|
||||||
|
|
||||||
static ProjectExplorer::Abi::Architecture architectureForToolChainPrefix(const QString &toolchainprefix);
|
static ProjectExplorer::Abi::Architecture architectureForToolChainPrefix(const QString &toolchainprefix);
|
||||||
static QLatin1String toolchainPrefix(ProjectExplorer::Abi::Architecture architecture);
|
static QLatin1String toolchainPrefix(ProjectExplorer::Abi::Architecture architecture);
|
||||||
static QLatin1String toolsPrefix(ProjectExplorer::Abi::Architecture architecture);
|
static QLatin1String toolsPrefix(ProjectExplorer::Abi::Architecture architecture);
|
||||||
|
@@ -204,7 +204,7 @@ QString AndroidToolChain::makeCommand(const Utils::Environment &env) const
|
|||||||
{
|
{
|
||||||
QString make = HostOsInfo::isWindowsHost()
|
QString make = HostOsInfo::isWindowsHost()
|
||||||
? QLatin1String("ma-make.exe") : QLatin1String("make");
|
? QLatin1String("ma-make.exe") : QLatin1String("make");
|
||||||
QString tmp = env.searchInPath(make);
|
QString tmp = env.searchInPath(make, AndroidConfigurations::instance().makeExtraSearchDirectories());
|
||||||
return tmp.isEmpty() ? make : tmp;
|
return tmp.isEmpty() ? make : tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user