Provide %{buildDir} macro expansion again.

This was a regression introduced during the macro expander rework.

Task-number: QTCREATORBUG-13260
Change-Id: I9fd28c6a522faa11992931f937dd0b0eb779f419
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
hjk
2014-11-05 14:01:26 +01:00
parent 7d417271c3
commit f406a38ca7
5 changed files with 30 additions and 23 deletions

View File

@@ -75,6 +75,8 @@ BuildConfiguration::BuildConfiguration(Target *target, Core::Id id) :
connect(target, SIGNAL(kitChanged()), connect(target, SIGNAL(kitChanged()),
this, SLOT(handleKitUpdate())); this, SLOT(handleKitUpdate()));
connect(this, SIGNAL(environmentChanged()), this, SLOT(emitBuildDirectoryChanged())); connect(this, SIGNAL(environmentChanged()), this, SLOT(emitBuildDirectoryChanged()));
macroExpander()->registerSubProvider([target] { return target->macroExpander(); });
} }
BuildConfiguration::BuildConfiguration(Target *target, BuildConfiguration *source) : BuildConfiguration::BuildConfiguration(Target *target, BuildConfiguration *source) :
@@ -92,29 +94,8 @@ BuildConfiguration::BuildConfiguration(Target *target, BuildConfiguration *sourc
connect(target, SIGNAL(kitChanged()), connect(target, SIGNAL(kitChanged()),
this, SLOT(handleKitUpdate())); this, SLOT(handleKitUpdate()));
}
void BuildConfiguration::setupMacroExpander() macroExpander()->registerSubProvider([target] { return target->macroExpander(); });
{
Utils::MacroExpander *expander = macroExpander();
expander->registerSubProvider(
[this] { return target()->kit()->macroExpander(); });
// Legacy support.
expander->registerVariable(Constants::VAR_CURRENTPROJECT_NAME,
QCoreApplication::translate("ProjectExplorer", "Name of current project"),
[this] { return target()->project()->displayName(); });
expander->registerVariable(Constants::VAR_CURRENTBUILD_NAME,
QCoreApplication::translate("ProjectExplorer", "Name of current build"),
[this] { return displayName(); });
expander->registerVariable("sourceDir", tr("Source directory"),
[this] { return target()->project()->projectDirectory().toUserOutput(); });
expander->registerVariable("buildDir", tr("Build directory"),
[this] { return buildDirectory().toUserOutput(); });
} }
BuildConfiguration::~BuildConfiguration() BuildConfiguration::~BuildConfiguration()

View File

@@ -107,7 +107,6 @@ private slots:
private: private:
void emitEnvironmentChanged(); void emitEnvironmentChanged();
void setupMacroExpander();
bool m_clearSystemEnvironment; bool m_clearSystemEnvironment;
QList<Utils::EnvironmentItem> m_userEnvironmentChanges; QList<Utils::EnvironmentItem> m_userEnvironmentChanges;

View File

@@ -53,6 +53,7 @@ DeployConfiguration::DeployConfiguration(Target *target, Core::Id id) :
m_stepList->setDefaultDisplayName(tr("Deploy")); m_stepList->setDefaultDisplayName(tr("Deploy"));
//: Default DeployConfiguration display name //: Default DeployConfiguration display name
setDefaultDisplayName(tr("Deploy locally")); setDefaultDisplayName(tr("Deploy locally"));
macroExpander()->registerSubProvider([target] { return target->macroExpander(); });
} }
DeployConfiguration::DeployConfiguration(Target *target, DeployConfiguration *source) : DeployConfiguration::DeployConfiguration(Target *target, DeployConfiguration *source) :
@@ -63,6 +64,7 @@ DeployConfiguration::DeployConfiguration(Target *target, DeployConfiguration *so
// Do not clone stepLists here, do that in the derived constructor instead // Do not clone stepLists here, do that in the derived constructor instead
// otherwise BuildStepFactories might reject to set up a BuildStep for us // otherwise BuildStepFactories might reject to set up a BuildStep for us
// since we are not yet the derived class! // since we are not yet the derived class!
macroExpander()->registerSubProvider([target] { return target->macroExpander(); });
} }
DeployConfiguration::~DeployConfiguration() DeployConfiguration::~DeployConfiguration()

View File

@@ -253,6 +253,8 @@ void RunConfiguration::addExtraAspect(IRunConfigurationAspect *aspect)
void RunConfiguration::ctor() void RunConfiguration::ctor()
{ {
connect(this, SIGNAL(enabledChanged()), this, SIGNAL(requestRunActionsUpdate())); connect(this, SIGNAL(enabledChanged()), this, SIGNAL(requestRunActionsUpdate()));
macroExpander()->registerSubProvider([this] { return target()->macroExpander(); });
} }
/*! /*!

View File

@@ -138,6 +138,29 @@ Target::Target(Project *project, Kit *k) :
this, SLOT(handleKitUpdates(ProjectExplorer::Kit*))); this, SLOT(handleKitUpdates(ProjectExplorer::Kit*)));
connect(km, SIGNAL(kitRemoved(ProjectExplorer::Kit*)), connect(km, SIGNAL(kitRemoved(ProjectExplorer::Kit*)),
this, SLOT(handleKitRemoval(ProjectExplorer::Kit*))); this, SLOT(handleKitRemoval(ProjectExplorer::Kit*)));
Utils::MacroExpander *expander = macroExpander();
expander->registerSubProvider([this] { return kit()->macroExpander(); });
// Legacy support.
expander->registerVariable(Constants::VAR_CURRENTPROJECT_NAME,
QCoreApplication::translate("ProjectExplorer", "Name of current project"),
[project] { return project->displayName(); },
false);
expander->registerVariable(Constants::VAR_CURRENTBUILD_NAME,
QCoreApplication::translate("ProjectExplorer", "Name of current build"),
[this] { return activeBuildConfiguration() ? activeBuildConfiguration()->displayName() : QString(); },
false);
expander->registerVariable("sourceDir", tr("Source directory"),
[project] { return project->projectDirectory().toUserOutput(); });
expander->registerVariable("buildDir", tr("Build directory"),
[this] { return activeBuildConfiguration()
? activeBuildConfiguration()->buildDirectory().toUserOutput()
: QString() ; });
} }
Target::~Target() Target::~Target()