mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 13:20:47 -06:00
Makefile: Restore RULE_LAUNCH_COMPILE generation on compilation rules
Refactoring in commit 425cd167 (cmLocalGenerator: Remove the launcher
from RuleVariables, 2016-10-09) accidentally broke Makefile generator
handling of `RULE_LAUNCH_COMPILE`. Responsibility moved from
`ExpandRuleVariables` to its call sites, and the Makefile generator call
site for compilations was not properly updated. Fix it now.
This commit is contained in:
@@ -545,7 +545,6 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
cmRulePlaceholderExpander::RuleVariables vars;
|
cmRulePlaceholderExpander::RuleVariables vars;
|
||||||
vars.RuleLauncher = "RULE_LAUNCH_COMPILE";
|
|
||||||
vars.CMTargetName = this->GeneratorTarget->GetName().c_str();
|
vars.CMTargetName = this->GeneratorTarget->GetName().c_str();
|
||||||
vars.CMTargetType =
|
vars.CMTargetType =
|
||||||
cmState::GetTargetTypeName(this->GeneratorTarget->GetType());
|
cmState::GetTargetTypeName(this->GeneratorTarget->GetType());
|
||||||
@@ -664,9 +663,20 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string launcher;
|
||||||
|
{
|
||||||
|
const char* val = this->LocalGenerator->GetRuleLauncher(
|
||||||
|
this->GeneratorTarget, "RULE_LAUNCH_COMPILE");
|
||||||
|
if (val && *val) {
|
||||||
|
launcher = val;
|
||||||
|
launcher += " ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Expand placeholders in the commands.
|
// Expand placeholders in the commands.
|
||||||
for (std::vector<std::string>::iterator i = compileCommands.begin();
|
for (std::vector<std::string>::iterator i = compileCommands.begin();
|
||||||
i != compileCommands.end(); ++i) {
|
i != compileCommands.end(); ++i) {
|
||||||
|
*i = launcher + *i;
|
||||||
rulePlaceholderExpander->ExpandRuleVariables(this->LocalGenerator, *i,
|
rulePlaceholderExpander->ExpandRuleVariables(this->LocalGenerator, *i,
|
||||||
vars);
|
vars);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user