forked from qt-creator/qt-creator
Changing string based api to BuildConfiguration based api.
Builds, but I'm pretty sure it doesn't *work* :)
This commit is contained in:
@@ -55,6 +55,7 @@
|
||||
|
||||
using namespace GenericProjectManager;
|
||||
using namespace GenericProjectManager::Internal;
|
||||
using namespace ProjectExplorer;
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -105,6 +106,40 @@ public:
|
||||
|
||||
} // end of anonymous namespace
|
||||
|
||||
/*!
|
||||
\class GenericBuildConfigurationFactory
|
||||
*/
|
||||
|
||||
GenericBuildConfigurationFactory::GenericBuildConfigurationFactory(GenericProject *project)
|
||||
: IBuildConfigurationFactory(project),
|
||||
m_project(project)
|
||||
{
|
||||
}
|
||||
|
||||
GenericBuildConfigurationFactory::~GenericBuildConfigurationFactory()
|
||||
{
|
||||
}
|
||||
|
||||
QStringList GenericBuildConfigurationFactory::availableCreationTypes() const
|
||||
{
|
||||
return QStringList() << "Create";
|
||||
}
|
||||
|
||||
QString GenericBuildConfigurationFactory::displayNameForType(const QString &type) const
|
||||
{
|
||||
return tr("Create");
|
||||
}
|
||||
|
||||
QList<BuildConfiguration *> GenericBuildConfigurationFactory::create(const QString &type) const
|
||||
{
|
||||
return QList<BuildConfiguration *>() << new BuildConfiguration;
|
||||
}
|
||||
|
||||
QList<BuildConfiguration *> GenericBuildConfigurationFactory::createDefaultConfigurations() const
|
||||
{
|
||||
return QList<BuildConfiguration *>() << new BuildConfiguration;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////
|
||||
// GenericProject
|
||||
////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -112,6 +147,7 @@ public:
|
||||
GenericProject::GenericProject(Manager *manager, const QString &fileName)
|
||||
: m_manager(manager),
|
||||
m_fileName(fileName),
|
||||
m_buildConfigurationFactory(new GenericBuildConfigurationFactory(this)),
|
||||
m_toolChain(0)
|
||||
{
|
||||
QFileInfo fileInfo(m_fileName);
|
||||
@@ -136,6 +172,11 @@ GenericProject::~GenericProject()
|
||||
delete m_toolChain;
|
||||
}
|
||||
|
||||
IBuildConfigurationFactory *GenericProject::buildConfigurationFactory() const
|
||||
{
|
||||
return m_buildConfigurationFactory;
|
||||
}
|
||||
|
||||
QString GenericProject::filesFileName() const
|
||||
{ return m_filesFileName; }
|
||||
|
||||
@@ -355,9 +396,9 @@ void GenericProject::setToolChainType(ProjectExplorer::ToolChain::ToolChainType
|
||||
}
|
||||
}
|
||||
|
||||
QString GenericProject::buildParser(const QString &buildConfiguration) const
|
||||
QString GenericProject::buildParser(BuildConfiguration *configuration) const
|
||||
{
|
||||
Q_UNUSED(buildConfiguration)
|
||||
Q_UNUSED(configuration)
|
||||
if (m_toolChain) {
|
||||
switch (m_toolChain->type()) {
|
||||
case ProjectExplorer::ToolChain::GCC:
|
||||
@@ -410,14 +451,15 @@ bool GenericProject::isApplication() const
|
||||
return true;
|
||||
}
|
||||
|
||||
ProjectExplorer::Environment GenericProject::environment(const QString &) const
|
||||
ProjectExplorer::Environment GenericProject::environment(BuildConfiguration *configuration) const
|
||||
{
|
||||
Q_UNUSED(configuration)
|
||||
return ProjectExplorer::Environment::systemEnvironment();
|
||||
}
|
||||
|
||||
QString GenericProject::buildDirectory(const QString &buildConfiguration) const
|
||||
QString GenericProject::buildDirectory(BuildConfiguration *configuration) const
|
||||
{
|
||||
QString buildDirectory = value(buildConfiguration, "buildDirectory").toString();
|
||||
QString buildDirectory = configuration->value("buildDirectory").toString();
|
||||
|
||||
if (buildDirectory.isEmpty()) {
|
||||
QFileInfo fileInfo(m_fileName);
|
||||
@@ -438,11 +480,11 @@ QList<ProjectExplorer::BuildConfigWidget*> GenericProject::subConfigWidgets()
|
||||
return QList<ProjectExplorer::BuildConfigWidget*>();
|
||||
}
|
||||
|
||||
bool GenericProject::newBuildConfiguration(const QString &buildConfiguration)
|
||||
{
|
||||
makeStep()->setBuildTarget(buildConfiguration, "all", true);
|
||||
return true;
|
||||
}
|
||||
// bool GenericProject::newBuildConfiguration(const QString &buildConfiguration)
|
||||
// {
|
||||
// makeStep()->setBuildTarget(buildConfiguration, "all", true);
|
||||
// return true;
|
||||
// }
|
||||
|
||||
GenericProjectNode *GenericProject::rootProjectNode() const
|
||||
{
|
||||
@@ -482,14 +524,15 @@ bool GenericProject::restoreSettingsImpl(ProjectExplorer::PersistentSettingsRead
|
||||
|
||||
const QLatin1String all("all");
|
||||
|
||||
addBuildConfiguration(all);
|
||||
setActiveBuildConfiguration(all);
|
||||
ProjectExplorer::BuildConfiguration *bc = new BuildConfiguration(all);
|
||||
addBuildConfiguration(bc);
|
||||
setActiveBuildConfiguration(bc);
|
||||
makeStep->setBuildTarget(all, all, /* on = */ true);
|
||||
|
||||
const QLatin1String buildDirectory("buildDirectory");
|
||||
|
||||
const QFileInfo fileInfo(file()->fileName());
|
||||
setValue(all, buildDirectory, fileInfo.absolutePath());
|
||||
bc->setValue(buildDirectory, fileInfo.absolutePath());
|
||||
}
|
||||
|
||||
using namespace ProjectExplorer;
|
||||
@@ -568,10 +611,10 @@ GenericBuildSettingsWidget::~GenericBuildSettingsWidget()
|
||||
QString GenericBuildSettingsWidget::displayName() const
|
||||
{ return tr("Generic Manager"); }
|
||||
|
||||
void GenericBuildSettingsWidget::init(const QString &buildConfiguration)
|
||||
void GenericBuildSettingsWidget::init(const QString &buildConfigurationName)
|
||||
{
|
||||
m_buildConfiguration = buildConfiguration;
|
||||
m_pathChooser->setPath(m_project->buildDirectory(buildConfiguration));
|
||||
m_buildConfiguration = buildConfigurationName;
|
||||
m_pathChooser->setPath(m_project->buildDirectory(m_project->buildConfiguration(buildConfigurationName)));
|
||||
}
|
||||
|
||||
void GenericBuildSettingsWidget::buildDirectoryChanged()
|
||||
|
Reference in New Issue
Block a user