TargetSetupPage: Generalize the page

Generalize the target setup page and move it into projectexplorer

Move the qmake specific code into a projectimporter class with
a specialization for qmake projects in the qt4projectmanager.

This change depends heavily on the BuildConfigurationFactory cleanups
done earlier and completes that change in such a way that generic
build configuration factories are now in theory possible. The
remaining problem is how to select the best factory of several that
claim to be able to handle a kit and that is left for the next patch.

Change-Id: I47134cb1938c52adebcdc1ddfe8dbf26abbbbeee
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
Tobias Hunger
2013-08-13 10:52:57 +02:00
parent 95828d4691
commit 921f86dfa7
48 changed files with 1486 additions and 1143 deletions

View File

@@ -341,6 +341,18 @@ IBuildConfigurationFactory *IBuildConfigurationFactory::find(Target *parent, con
return 0;
}
// setup
IBuildConfigurationFactory *IBuildConfigurationFactory::find(Kit *k, const QString &projectPath)
{
QList<IBuildConfigurationFactory *> factories
= ExtensionSystem::PluginManager::instance()->getObjects<IBuildConfigurationFactory>();
foreach (IBuildConfigurationFactory *factory, factories) {
if (factory->canSetup(k, projectPath))
return factory;
}
return 0;
}
// create
IBuildConfigurationFactory * IBuildConfigurationFactory::find(Target *parent)
{