forked from qt-creator/qt-creator
BC: Move builddirectory handling into BC itself
Use setBuildDirectory() in the different BuildConfigurations instead of reimplementing that over and over again. Change-Id: Ic355fdb4624c71667ce470b3e2865c9a8722ef09 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
@@ -46,7 +46,6 @@
|
||||
#include <QInputDialog>
|
||||
|
||||
static const char QBS_BC_ID[] = "Qbs.QbsBuildConfiguration";
|
||||
static const char QBS_BUILD_DIRECTORY_KEY[] = "Qbs.BuildDirectory";
|
||||
|
||||
namespace QbsProjectManager {
|
||||
namespace Internal {
|
||||
@@ -74,19 +73,11 @@ QbsBuildConfiguration::QbsBuildConfiguration(ProjectExplorer::Target *target, co
|
||||
{ }
|
||||
|
||||
QbsBuildConfiguration::QbsBuildConfiguration(ProjectExplorer::Target *target, QbsBuildConfiguration *source) :
|
||||
BuildConfiguration(target, source),
|
||||
m_buildDirectory(source->m_buildDirectory)
|
||||
BuildConfiguration(target, source)
|
||||
{
|
||||
cloneSteps(source);
|
||||
}
|
||||
|
||||
QVariantMap QbsBuildConfiguration::toMap() const
|
||||
{
|
||||
QVariantMap map(BuildConfiguration::toMap());
|
||||
map.insert(QLatin1String(QBS_BUILD_DIRECTORY_KEY), m_buildDirectory.toUserOutput());
|
||||
return map;
|
||||
}
|
||||
|
||||
bool QbsBuildConfiguration::fromMap(const QVariantMap &map)
|
||||
{
|
||||
if (!BuildConfiguration::fromMap(map))
|
||||
@@ -101,8 +92,6 @@ bool QbsBuildConfiguration::fromMap(const QVariantMap &map)
|
||||
connect(bs, SIGNAL(qbsConfigurationChanged()), this, SIGNAL(qbsConfigurationChanged()));
|
||||
}
|
||||
|
||||
m_buildDirectory = Utils::FileName::fromUserInput(map.value(QLatin1String(QBS_BUILD_DIRECTORY_KEY)).toString());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -139,12 +128,6 @@ QVariantMap QbsBuildConfiguration::qbsConfiguration() const
|
||||
return config;
|
||||
}
|
||||
|
||||
QString QbsBuildConfiguration::buildDirectory() const
|
||||
{
|
||||
QString path = QDir::cleanPath(environment().expandVariables(m_buildDirectory.toString()));
|
||||
return QDir::cleanPath(QDir(target()->project()->projectDirectory()).absoluteFilePath(path));
|
||||
}
|
||||
|
||||
Internal::QbsProject *QbsBuildConfiguration::project() const
|
||||
{
|
||||
return qobject_cast<Internal::QbsProject *>(target()->project());
|
||||
@@ -239,14 +222,6 @@ QbsBuildConfiguration *QbsBuildConfiguration::setup(ProjectExplorer::Target *t,
|
||||
return bc;
|
||||
}
|
||||
|
||||
void QbsBuildConfiguration::setBuildDirectory(const Utils::FileName &dir)
|
||||
{
|
||||
if (m_buildDirectory == dir)
|
||||
return;
|
||||
m_buildDirectory = dir;
|
||||
emit buildDirectoryChanged();
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// QbsBuildConfigurationFactory:
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user