mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-12 04:20:01 -05:00
Ninja: Fix escaping of paths with spaces for Swift tooling
If a path inside a project contains spaces, the generated Ninja definitions previously contained superfluous quotes. Fixes: #26404
This commit is contained in:
committed by
Brad King
parent
7e0d3b1ca9
commit
75e4cd8d18
@@ -1289,11 +1289,9 @@ void cmNinjaTargetGenerator::GenerateSwiftOutputFileMap(
|
||||
if (cmValue name = target->GetProperty("Swift_DEPENDENCIES_FILE")) {
|
||||
return *name;
|
||||
}
|
||||
return this->GetLocalGenerator()->ConvertToOutputFormat(
|
||||
this->ConvertToNinjaPath(cmStrCat(target->GetSupportDirectory(), '/',
|
||||
config, '/', target->GetName(),
|
||||
".swiftdeps")),
|
||||
cmOutputConverter::SHELL);
|
||||
return this->ConvertToNinjaPath(cmStrCat(target->GetSupportDirectory(),
|
||||
'/', config, '/',
|
||||
target->GetName(), ".swiftdeps"));
|
||||
}();
|
||||
|
||||
std::string mapFilePath =
|
||||
@@ -1311,7 +1309,7 @@ void cmNinjaTargetGenerator::GenerateSwiftOutputFileMap(
|
||||
|
||||
// Add flag
|
||||
this->LocalGenerator->AppendFlags(flags, "-output-file-map");
|
||||
this->LocalGenerator->AppendFlagEscape(
|
||||
this->LocalGenerator->AppendFlags(
|
||||
flags,
|
||||
this->GetLocalGenerator()->ConvertToOutputFormat(
|
||||
ConvertToNinjaPath(mapFilePath), cmOutputConverter::SHELL));
|
||||
@@ -2014,7 +2012,10 @@ void cmNinjaTargetGenerator::WriteSwiftObjectBuildStatement(
|
||||
std::string const emitModuleFlag = "-emit-module";
|
||||
std::string const modulePathFlag = "-emit-module-path";
|
||||
this->LocalGenerator->AppendFlags(
|
||||
vars["FLAGS"], { emitModuleFlag, modulePathFlag, moduleFilepath });
|
||||
vars["FLAGS"],
|
||||
{ emitModuleFlag, modulePathFlag,
|
||||
this->LocalGenerator->ConvertToOutputFormat(
|
||||
moduleFilepath, cmOutputConverter::SHELL) });
|
||||
objBuild.Outputs.push_back(moduleFilepath);
|
||||
}
|
||||
this->LocalGenerator->AppendFlags(vars["FLAGS"],
|
||||
|
||||
Reference in New Issue
Block a user