cmGlobalGenerator: add a QuotedPrintable method for commands

This commit is contained in:
Ben Boeckel 2023-05-16 11:31:26 -04:00
parent 28ee3bef34
commit d6c0e827bc
2 changed files with 19 additions and 0 deletions

View File

@ -47,6 +47,7 @@
#include "cmMSVC60LinkLineComputer.h"
#include "cmMakefile.h"
#include "cmMessageType.h"
#include "cmOutputConverter.h"
#include "cmPolicies.h"
#include "cmRange.h"
#include "cmSourceFile.h"
@ -73,6 +74,23 @@ const std::string kCMAKE_PLATFORM_INFO_INITIALIZED =
class cmInstalledFile;
namespace detail {
std::string GeneratedMakeCommand::QuotedPrintable() const
{
std::string output;
const char* sep = "";
int flags = 0;
#if !defined(_WIN32)
flags |= cmOutputConverter::Shell_Flag_IsUnix;
#endif
for (auto const& arg : this->PrimaryCommand) {
output += cmStrCat(sep, cmOutputConverter::EscapeForShell(arg, flags));
sep = " ";
}
return output;
}
}
bool cmTarget::StrictTargetComparison::operator()(cmTarget const* t1,
cmTarget const* t2) const
{

View File

@ -85,6 +85,7 @@ struct GeneratedMakeCommand
}
std::string Printable() const { return cmJoin(this->PrimaryCommand, " "); }
std::string QuotedPrintable() const;
std::vector<std::string> PrimaryCommand;
bool RequiresOutputForward = false;