Browse Source

Ninja: fix usage of cldeps with ctest launchers

Mathias Gaunard 13 years ago
parent
commit
9fc2e20244
1 changed files with 9 additions and 7 deletions
  1. 9 7
      Source/cmNinjaTargetGenerator.cxx

+ 9 - 7
Source/cmNinjaTargetGenerator.cxx

@@ -423,17 +423,19 @@ cmNinjaTargetGenerator
   std::vector<std::string> compileCmds;
   std::vector<std::string> compileCmds;
   cmSystemTools::ExpandListArgument(compileCmd, compileCmds);
   cmSystemTools::ExpandListArgument(compileCmd, compileCmds);
 
 
+  if(useClDeps)
+    {
+    std::string cmdPrefix = clDepsBinary + lang + " $in \"$DEP_FILE\" $out " +
+                            clShowPrefix + clBinary;
+    compileCmds.front().insert(0, cmdPrefix);
+    }
+
   for (std::vector<std::string>::iterator i = compileCmds.begin();
   for (std::vector<std::string>::iterator i = compileCmds.begin();
        i != compileCmds.end(); ++i)
        i != compileCmds.end(); ++i)
     this->GetLocalGenerator()->ExpandRuleVariables(*i, vars);
     this->GetLocalGenerator()->ExpandRuleVariables(*i, vars);
 
 
-  std::string cmdLine;
-  if(useClDeps)
-    {
-    cmdLine = clDepsBinary + lang + " $in \"$DEP_FILE\" $out " +
-              clShowPrefix + clBinary;
-    }
-  cmdLine += this->GetLocalGenerator()->BuildCommandLine(compileCmds);
+  std::string cmdLine =
+    this->GetLocalGenerator()->BuildCommandLine(compileCmds);
 
 
 
 
   // Write the rule for compiling file of the given language.
   // Write the rule for compiling file of the given language.