cmLocalUnixMakefileGenerator3: Simplify progress command generation

This commit is contained in:
Brad King
2024-12-10 11:20:40 -05:00
parent c5ad3f9792
commit b7e6c418e3

View File

@@ -6,7 +6,6 @@
#include <cassert>
#include <cstdio>
#include <functional>
#include <sstream>
#include <utility>
#include <cm/memory>
@@ -1733,33 +1732,24 @@ void cmLocalUnixMakefileGenerator3::WriteLocalAllRules(
depends.emplace_back("cmake_check_build_system");
}
std::string progressDir =
cmStrCat(this->GetBinaryDirectory(), "/CMakeFiles");
{
std::ostringstream progCmd;
progCmd << "$(CMAKE_COMMAND) -E cmake_progress_start ";
progCmd << this->ConvertToOutputFormat(progressDir,
cmOutputConverter::SHELL);
std::string const progressDir = this->ConvertToOutputFormat(
cmStrCat(this->GetBinaryDirectory(), "/CMakeFiles"),
cmOutputConverter::SHELL);
std::string const progressMarks = this->ConvertToOutputFormat(
this->ConvertToFullPath("/CMakeFiles/progress.marks"),
cmOutputConverter::SHELL);
std::string const progressStartCommand =
cmStrCat("$(CMAKE_COMMAND) -E cmake_progress_start ", progressDir, ' ',
progressMarks);
std::string const progressFinishCommand =
cmStrCat("$(CMAKE_COMMAND) -E cmake_progress_start ", progressDir, " 0");
std::string progressFile = "/CMakeFiles/progress.marks";
std::string progressFileNameFull = this->ConvertToFullPath(progressFile);
progCmd << " "
<< this->ConvertToOutputFormat(progressFileNameFull,
cmOutputConverter::SHELL);
commands.push_back(progCmd.str());
}
commands.emplace_back(progressStartCommand);
std::string mf2Dir = "CMakeFiles/Makefile2";
commands.push_back(this->GetRecursiveMakeCall(mf2Dir, recursiveTarget));
this->CreateCDCommand(commands, this->GetBinaryDirectory(),
this->GetCurrentBinaryDirectory());
{
std::ostringstream progCmd;
progCmd << "$(CMAKE_COMMAND) -E cmake_progress_start "; // # 0
progCmd << this->ConvertToOutputFormat(progressDir,
cmOutputConverter::SHELL);
progCmd << " 0";
commands.push_back(progCmd.str());
}
commands.emplace_back(progressFinishCommand);
this->WriteMakeRule(ruleFileStream, "The main all target", "all", depends,
commands, true);