diff options
author | Brad King <brad.king@kitware.com> | 2017-05-30 18:17:00 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-05-30 19:30:43 (GMT) |
commit | 6a2f8335638605d34f066f4e1f2fc646e324564e (patch) | |
tree | 9fa6e8991d5cdcd4d1d0678b23294e6f335d3473 /Source | |
parent | 781eb380f47c743ddb9f3ad65c6f7d3eda7af171 (diff) | |
download | CMake-6a2f8335638605d34f066f4e1f2fc646e324564e.zip CMake-6a2f8335638605d34f066f4e1f2fc646e324564e.tar.gz CMake-6a2f8335638605d34f066f4e1f2fc646e324564e.tar.bz2 |
Ninja: Fix escaping of path to depfile
Replace the dedicated and non-portable escaping code with use of our
standard escaping logic.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmGlobalNinjaGenerator.cxx | 7 | ||||
-rw-r--r-- | Source/cmGlobalNinjaGenerator.h | 1 | ||||
-rw-r--r-- | Source/cmNinjaTargetGenerator.cxx | 8 |
3 files changed, 4 insertions, 12 deletions
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index e1e165c..39f5d8f 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -146,13 +146,6 @@ std::string cmGlobalNinjaGenerator::EncodePath(const std::string& path) return EncodeLiteral(result); } -std::string cmGlobalNinjaGenerator::EncodeDepfileSpace(const std::string& path) -{ - std::string result = path; - cmSystemTools::ReplaceString(result, " ", "\\ "); - return result; -} - void cmGlobalNinjaGenerator::WriteBuild( std::ostream& os, const std::string& comment, const std::string& rule, const cmNinjaDeps& outputs, const cmNinjaDeps& implicitOuts, diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h index b1d6155..41c5175 100644 --- a/Source/cmGlobalNinjaGenerator.h +++ b/Source/cmGlobalNinjaGenerator.h @@ -75,7 +75,6 @@ public: static std::string EncodeIdent(const std::string& ident, std::ostream& vars); static std::string EncodeLiteral(const std::string& lit); std::string EncodePath(const std::string& path); - static std::string EncodeDepfileSpace(const std::string& path); cmLinkLineComputer* CreateLinkLineComputer( cmOutputConverter* outputConverter, diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx index 7e29681..2f4cccb 100644 --- a/Source/cmNinjaTargetGenerator.cxx +++ b/Source/cmNinjaTargetGenerator.cxx @@ -822,8 +822,8 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement( vars["DEFINES"] = this->ComputeDefines(source, language); vars["INCLUDES"] = this->GetIncludes(language); if (!this->NeedDepTypeMSVC(language)) { - vars["DEP_FILE"] = - cmGlobalNinjaGenerator::EncodeDepfileSpace(objectFileName + ".d"); + vars["DEP_FILE"] = this->GetLocalGenerator()->ConvertToOutputFormat( + objectFileName + ".d", cmOutputConverter::SHELL); } this->ExportObjectCompileCommand( @@ -920,8 +920,8 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement( vars["INCLUDES"] = sourceDirectoryFlag + " " + vars["INCLUDES"]; // Explicit preprocessing always uses a depfile. - ppVars["DEP_FILE"] = - cmGlobalNinjaGenerator::EncodeDepfileSpace(ppFileName + ".d"); + ppVars["DEP_FILE"] = this->GetLocalGenerator()->ConvertToOutputFormat( + ppFileName + ".d", cmOutputConverter::SHELL); // The actual compilation does not need a depfile because it // depends on the already-preprocessed source. vars.erase("DEP_FILE"); |