summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2016-08-27 13:44:54 +0200
committerStephen Kelly <steveire@gmail.com>2016-08-27 15:21:24 +0200
commit51f7dcb0a55874e71e4695f5154548a41c87ad56 (patch)
tree5da054611f978cc5422e28f7252e130473cdc35b /Source
parentba4ba7c39de82b805652efbb7dc5e1659c53f36b (diff)
downloadcmake-51f7dcb0a55874e71e4695f5154548a41c87ad56.tar.gz
Makefiles: Inline MakeLauncher into only caller
Diffstat (limited to 'Source')
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.cxx59
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.h3
2 files changed, 27 insertions, 35 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 53c2ff6f84..53c9aa12cd 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -976,9 +976,33 @@ void cmLocalUnixMakefileGenerator3::AppendCustomCommand(
// without the current directory being in the search path.
cmd = "./" + cmd;
}
- std::string launcher = this->MakeLauncher(
- ccg, target, workingDir.empty() ? cmOutputConverter::START_OUTPUT
- : cmOutputConverter::NONE);
+
+ std::string launcher;
+ // Short-circuit if there is no launcher.
+ const char* prop = "RULE_LAUNCH_CUSTOM";
+ const char* val = this->GetRuleLauncher(target, prop);
+ if (val && *val) {
+ // Expand rules in the empty string. It may insert the launcher and
+ // perform replacements.
+ RuleVariables vars;
+ vars.RuleLauncher = prop;
+ vars.CMTarget = target;
+ std::string output;
+ const std::vector<std::string>& outputs = ccg.GetOutputs();
+ if (!outputs.empty()) {
+ output = this->Convert(outputs[0], workingDir.empty()
+ ? cmOutputConverter::START_OUTPUT
+ : cmOutputConverter::NONE,
+ cmOutputConverter::SHELL);
+ }
+ vars.Output = output.c_str();
+
+ this->ExpandRuleVariables(launcher, vars);
+ if (!launcher.empty()) {
+ launcher += " ";
+ }
+ }
+
std::string shellCommand = this->MaybeConvertWatcomShellCommand(cmd);
if (shellCommand.empty()) {
shellCommand = this->Convert(cmd, cmOutputConverter::NONE,
@@ -1027,35 +1051,6 @@ void cmLocalUnixMakefileGenerator3::AppendCustomCommand(
commands.insert(commands.end(), commands1.begin(), commands1.end());
}
-std::string cmLocalUnixMakefileGenerator3::MakeLauncher(
- cmCustomCommandGenerator const& ccg, cmGeneratorTarget* target,
- cmOutputConverter::RelativeRoot relative)
-{
- std::string launcher;
- // Short-circuit if there is no launcher.
- const char* prop = "RULE_LAUNCH_CUSTOM";
- const char* val = this->GetRuleLauncher(target, prop);
- if (val && *val) {
- // Expand rules in the empty string. It may insert the launcher and
- // perform replacements.
- RuleVariables vars;
- vars.RuleLauncher = prop;
- vars.CMTarget = target;
- std::string output;
- const std::vector<std::string>& outputs = ccg.GetOutputs();
- if (!outputs.empty()) {
- output = this->Convert(outputs[0], relative, cmOutputConverter::SHELL);
- }
- vars.Output = output.c_str();
-
- this->ExpandRuleVariables(launcher, vars);
- if (!launcher.empty()) {
- launcher += " ";
- }
- }
- return launcher;
-}
-
void cmLocalUnixMakefileGenerator3::AppendCleanCommand(
std::vector<std::string>& commands, const std::vector<std::string>& files,
cmGeneratorTarget* target, const char* filename)
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index ea986076bd..3e90055a9f 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -251,9 +251,6 @@ protected:
private:
std::string MaybeConvertWatcomShellCommand(std::string const& cmd);
- std::string MakeLauncher(cmCustomCommandGenerator const& ccg,
- cmGeneratorTarget* target,
- cmOutputConverter::RelativeRoot relative);
void ComputeObjectFilenames(
std::map<cmSourceFile const*, std::string>& mapping,