mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-02 20:00:38 -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;
|
||||
vars.RuleLauncher = "RULE_LAUNCH_COMPILE";
|
||||
vars.CMTargetName = this->GeneratorTarget->GetName().c_str();
|
||||
vars.CMTargetType =
|
||||
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.
|
||||
for (std::vector<std::string>::iterator i = compileCommands.begin();
|
||||
i != compileCommands.end(); ++i) {
|
||||
*i = launcher + *i;
|
||||
rulePlaceholderExpander->ExpandRuleVariables(this->LocalGenerator, *i,
|
||||
vars);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user