Browse Source

Makefiles: Invert logic in MakeLauncher

Make it easier to inline into the caller.
Stephen Kelly 9 years ago
parent
commit
e804d410cd
1 changed files with 19 additions and 20 deletions
  1. 19 20
      Source/cmLocalUnixMakefileGenerator3.cxx

+ 19 - 20
Source/cmLocalUnixMakefileGenerator3.cxx

@@ -1034,28 +1034,27 @@ std::string cmLocalUnixMakefileGenerator3::MakeLauncher(
   // Short-circuit if there is no launcher.
   const char* prop = "RULE_LAUNCH_CUSTOM";
   const char* val = this->GetRuleLauncher(target, prop);
-  if (!(val && *val)) {
-    return "";
-  }
-
-  // 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();
+  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();
 
-  std::string launcher;
-  this->ExpandRuleVariables(launcher, vars);
-  if (!launcher.empty()) {
-    launcher += " ";
+    std::string launcher;
+    this->ExpandRuleVariables(launcher, vars);
+    if (!launcher.empty()) {
+      launcher += " ";
+    }
+    return launcher;
   }
-  return launcher;
+  return "";
 }
 
 void cmLocalUnixMakefileGenerator3::AppendCleanCommand(