forked from qt-creator/qt-creator
MacroExpander: Allow registering local expansions
This allows a MacroExpander also to describe an expansion it can do which was restricted to the global VariableManager only. The global is now just a thin (unneeded) wrapper about new "standard" functionality. Change-Id: Ida7ca70cf3d319eae4220ea8d12f3dd1c0d4042c Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
@@ -550,10 +550,12 @@ bool ExternalToolRunner::resolve()
|
||||
m_resolvedExecutable.clear();
|
||||
m_resolvedArguments.clear();
|
||||
m_resolvedWorkingDirectory.clear();
|
||||
|
||||
Utils::MacroExpander *expander = globalMacroExpander();
|
||||
{ // executable
|
||||
QStringList expandedExecutables; /* for error message */
|
||||
foreach (const QString &executable, m_tool->executables()) {
|
||||
QString expanded = Core::VariableManager::expandedString(executable);
|
||||
QString expanded = expander->expandedString(executable);
|
||||
expandedExecutables << expanded;
|
||||
m_resolvedExecutable =
|
||||
Utils::Environment::systemEnvironment().searchInPath(expanded);
|
||||
@@ -574,14 +576,13 @@ bool ExternalToolRunner::resolve()
|
||||
}
|
||||
}
|
||||
{ // arguments
|
||||
m_resolvedArguments = Utils::QtcProcess::expandMacros(m_tool->arguments(),
|
||||
Core::VariableManager::macroExpander());
|
||||
m_resolvedArguments = Utils::QtcProcess::expandMacros(m_tool->arguments(), expander);
|
||||
}
|
||||
{ // input
|
||||
m_resolvedInput = Core::VariableManager::expandedString(m_tool->input());
|
||||
m_resolvedInput = expander->expandedString(m_tool->input());
|
||||
}
|
||||
{ // working directory
|
||||
m_resolvedWorkingDirectory = Core::VariableManager::expandedString(m_tool->workingDirectory());
|
||||
m_resolvedWorkingDirectory = expander->expandedString(m_tool->workingDirectory());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user