summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/buildconfiguration.cpp
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@digia.com>2013-08-13 10:52:57 +0200
committerTobias Hunger <tobias.hunger@digia.com>2013-09-27 14:34:43 +0200
commit921f86dfa748468a8d7e6bb7787aed8fb8b53da9 (patch)
tree717cc0cd5052ff7a75f27f11e5abb9143fd35447 /src/plugins/projectexplorer/buildconfiguration.cpp
parent95828d4691a993e552843738114507a5a30efe2a (diff)
downloadqt-creator-921f86dfa748468a8d7e6bb7787aed8fb8b53da9.tar.gz
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>
Diffstat (limited to 'src/plugins/projectexplorer/buildconfiguration.cpp')
-rw-r--r--src/plugins/projectexplorer/buildconfiguration.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp
index 84cb07b285..8366ff00f0 100644
--- a/src/plugins/projectexplorer/buildconfiguration.cpp
+++ b/src/plugins/projectexplorer/buildconfiguration.cpp
@@ -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)
{