forked from qt-creator/qt-creator
Android: Set correct ANDROID_NDK_PLATFORM
Introduce the class AndroidQmakeBuildConfiguration whose purpose is to set the environment variable. Modify the Factory to create buildconfigurations of that type and fix restore/clone to also take the factories' priorities into account. Change-Id: Icb377fa9211cd3564c36b60cf7c5f7dd84fcab50 Reviewed-by: BogDan Vatra <bogdan@kde.org>
This commit is contained in:
@@ -235,6 +235,7 @@ Utils::Environment BuildConfiguration::baseEnvironment() const
|
||||
if (useSystemEnvironment())
|
||||
result = Utils::Environment::systemEnvironment();
|
||||
target()->kit()->addToEnvironment(result);
|
||||
addToEnvironment(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -259,6 +260,11 @@ void BuildConfiguration::setUseSystemEnvironment(bool b)
|
||||
emitEnvironmentChanged();
|
||||
}
|
||||
|
||||
void BuildConfiguration::addToEnvironment(Utils::Environment &env) const
|
||||
{
|
||||
Q_UNUSED(env);
|
||||
}
|
||||
|
||||
bool BuildConfiguration::useSystemEnvironment() const
|
||||
{
|
||||
return !m_clearSystemEnvironment;
|
||||
@@ -314,10 +320,22 @@ IBuildConfigurationFactory::~IBuildConfigurationFactory()
|
||||
// restore
|
||||
IBuildConfigurationFactory *IBuildConfigurationFactory::find(Target *parent, const QVariantMap &map)
|
||||
{
|
||||
return ExtensionSystem::PluginManager::getObject<IBuildConfigurationFactory>(
|
||||
[&parent, map](IBuildConfigurationFactory *factory) {
|
||||
return factory->canRestore(parent, map);
|
||||
});
|
||||
QList<IBuildConfigurationFactory *> factories
|
||||
= ExtensionSystem::PluginManager::getObjects<IBuildConfigurationFactory>(
|
||||
[&parent, map](IBuildConfigurationFactory *factory) {
|
||||
return factory->canRestore(parent, map);
|
||||
});
|
||||
|
||||
IBuildConfigurationFactory *factory = 0;
|
||||
int priority = -1;
|
||||
foreach (IBuildConfigurationFactory *i, factories) {
|
||||
int iPriority = i->priority(parent);
|
||||
if (iPriority > priority) {
|
||||
factory = i;
|
||||
priority = iPriority;
|
||||
}
|
||||
}
|
||||
return factory;
|
||||
}
|
||||
|
||||
// setup
|
||||
@@ -357,9 +375,21 @@ IBuildConfigurationFactory * IBuildConfigurationFactory::find(Target *parent)
|
||||
// clone
|
||||
IBuildConfigurationFactory *IBuildConfigurationFactory::find(Target *parent, BuildConfiguration *bc)
|
||||
{
|
||||
return ExtensionSystem::PluginManager::getObject<IBuildConfigurationFactory>(
|
||||
[&parent, &bc](IBuildConfigurationFactory *factory) {
|
||||
return factory->canClone(parent, bc);
|
||||
});
|
||||
QList<IBuildConfigurationFactory *> factories
|
||||
= ExtensionSystem::PluginManager::getObjects<IBuildConfigurationFactory>(
|
||||
[&parent, &bc](IBuildConfigurationFactory *factory) {
|
||||
return factory->canClone(parent, bc);
|
||||
});
|
||||
|
||||
IBuildConfigurationFactory *factory = 0;
|
||||
int priority = -1;
|
||||
foreach (IBuildConfigurationFactory *i, factories) {
|
||||
int iPriority = i->priority(parent);
|
||||
if (iPriority > priority) {
|
||||
factory = i;
|
||||
priority = iPriority;
|
||||
}
|
||||
}
|
||||
return factory;
|
||||
}
|
||||
} // namespace ProjectExplorer
|
||||
|
||||
Reference in New Issue
Block a user