diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index b1d8e5b97..7c1529b5b 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -743,12 +743,19 @@ void cmGlobalNinjaGenerator::WriteTargetAll(std::ostream& os) void cmGlobalNinjaGenerator::WriteTargetRebuildManifest(std::ostream& os) { - cmMakefile* mfRoot = this->LocalGenerators[0]->GetMakefile(); + cmLocalGenerator *lg = this->LocalGenerators[0]; + cmMakefile* mfRoot = lg->GetMakefile(); std::ostringstream cmd; - cmd << mfRoot->GetRequiredDefinition("CMAKE_COMMAND") - << " -H" << mfRoot->GetHomeDirectory() - << " -B" << mfRoot->GetHomeOutputDirectory(); + cmd << lg->ConvertToOutputFormat( + mfRoot->GetRequiredDefinition("CMAKE_COMMAND"), + cmLocalGenerator::SHELL) + << " -H" + << lg->ConvertToOutputFormat(mfRoot->GetHomeDirectory(), + cmLocalGenerator::SHELL) + << " -B" + << lg->ConvertToOutputFormat(mfRoot->GetHomeOutputDirectory(), + cmLocalGenerator::SHELL); WriteRule(*this->RulesFileStream, "RERUN_CMAKE", cmd.str(), diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx index 4434aef76..0174c3d3d 100644 --- a/Source/cmNinjaNormalTargetGenerator.cxx +++ b/Source/cmNinjaNormalTargetGenerator.cxx @@ -198,7 +198,9 @@ cmNinjaNormalTargetGenerator if (this->TargetNameOut != this->TargetNameReal) { std::string cmakeCommand = - this->GetMakefile()->GetRequiredDefinition("CMAKE_COMMAND"); + this->GetLocalGenerator()->ConvertToOutputFormat( + this->GetMakefile()->GetRequiredDefinition("CMAKE_COMMAND"), + cmLocalGenerator::SHELL); if (targetType == cmTarget::EXECUTABLE) this->GetGlobalGenerator()->AddRule("CMAKE_SYMLINK_EXECUTABLE", cmakeCommand + @@ -238,7 +240,9 @@ cmNinjaNormalTargetGenerator // We have archive link commands set. First, delete the existing archive. std::vector linkCmds; std::string cmakeCommand = - this->GetMakefile()->GetRequiredDefinition("CMAKE_COMMAND"); + this->GetLocalGenerator()->ConvertToOutputFormat( + this->GetMakefile()->GetRequiredDefinition("CMAKE_COMMAND"), + cmLocalGenerator::SHELL); linkCmds.push_back(cmakeCommand + " -E remove $out"); // TODO: Use ARCHIVE_APPEND for archives over a certain size.