mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-09 01:09:30 -05:00
Ninja generator: restore correct encoding for policy CMP0181=OLD
Fixes: #26857
This commit is contained in:
@@ -3891,6 +3891,12 @@ cmGlobalGenerator::StripCommandStyle cmGlobalGenerator::GetStripCommandStyle(
|
||||
#endif
|
||||
}
|
||||
|
||||
std::string cmGlobalGenerator::GetEncodedLiteral(std::string const& lit)
|
||||
{
|
||||
std::string result = lit;
|
||||
return this->EncodeLiteral(result);
|
||||
}
|
||||
|
||||
void cmGlobalGenerator::AddInstallScript(std::string const& file)
|
||||
{
|
||||
this->InstallScripts.push_back(file);
|
||||
|
||||
@@ -666,6 +666,7 @@ public:
|
||||
};
|
||||
StripCommandStyle GetStripCommandStyle(std::string const& strip);
|
||||
|
||||
std::string GetEncodedLiteral(std::string const& lit);
|
||||
virtual std::string& EncodeLiteral(std::string& lit) { return lit; }
|
||||
|
||||
bool CheckCMP0171() const;
|
||||
|
||||
@@ -184,12 +184,6 @@ std::string cmGlobalNinjaGenerator::EncodeRuleName(std::string const& name)
|
||||
return encoded;
|
||||
}
|
||||
|
||||
std::string cmGlobalNinjaGenerator::GetEncodedLiteral(std::string const& lit)
|
||||
{
|
||||
std::string result = lit;
|
||||
return this->EncodeLiteral(result);
|
||||
}
|
||||
|
||||
std::string& cmGlobalNinjaGenerator::EncodeLiteral(std::string& lit)
|
||||
{
|
||||
cmSystemTools::ReplaceString(lit, "$", "$$");
|
||||
|
||||
@@ -77,7 +77,6 @@ public:
|
||||
|
||||
static std::string EncodeRuleName(std::string const& name);
|
||||
std::string& EncodeLiteral(std::string& lit) override;
|
||||
std::string GetEncodedLiteral(std::string const& lit);
|
||||
std::string EncodePath(std::string const& path);
|
||||
|
||||
std::unique_ptr<cmLinkLineComputer> CreateLinkLineComputer(
|
||||
|
||||
@@ -2639,7 +2639,8 @@ void cmLocalGenerator::AppendFlags(std::string& flags,
|
||||
}
|
||||
CM_FALLTHROUGH;
|
||||
case cmPolicies::OLD:
|
||||
this->AppendFlags(flags, newFlags);
|
||||
this->AppendFlags(
|
||||
flags, this->GetGlobalGenerator()->GetEncodedLiteral(newFlags));
|
||||
break;
|
||||
case cmPolicies::NEW:
|
||||
if (compileOrLink == cmBuildStep::Link) {
|
||||
|
||||
Reference in New Issue
Block a user