1
0
Эх сурвалжийг харах

Escape the source file to be compiled if required.

Whitespaces in paths can otherwise cause invalid command lines to
be generated.
Stephen Kelly 13 жил өмнө
parent
commit
fbaddf4e40

+ 4 - 1
Source/cmNinjaTargetGenerator.cxx

@@ -492,7 +492,10 @@ cmNinjaTargetGenerator
     cmLocalGenerator::RuleVariables compileObjectVars;
     std::string lang = language;
     compileObjectVars.Language = lang.c_str();
-    compileObjectVars.Source = sourceFileName.c_str();
+    std::string escapedSourceFileName =
+      this->LocalGenerator->ConvertToOutputFormat(
+        sourceFileName.c_str(), cmLocalGenerator::SHELL);
+    compileObjectVars.Source = escapedSourceFileName.c_str();
     compileObjectVars.Object = objectFileName.c_str();
     compileObjectVars.Flags = vars["FLAGS"].c_str();
     compileObjectVars.Defines = vars["DEFINES"].c_str();