summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefileTargetGenerator.cxx
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2023-07-01 12:20:15 (GMT)
committerMarc Chevrier <marc.chevrier@gmail.com>2023-07-17 13:55:58 (GMT)
commit3c685a578a44063bb027787426d2c8b7202a7979 (patch)
tree7d531d9c9f571723f827beb4e762f5d422aab1d8 /Source/cmMakefileTargetGenerator.cxx
parenta28217eb8c3c8fd6287661dc3b4bc56a14e0d019 (diff)
downloadCMake-3c685a578a44063bb027787426d2c8b7202a7979.zip
CMake-3c685a578a44063bb027787426d2c8b7202a7979.tar.gz
CMake-3c685a578a44063bb027787426d2c8b7202a7979.tar.bz2
LINK_OPTIONS: ensure correct dollar escaping
Ensure correct escaping for Ninja and Makefile generators. Fixes: #25049
Diffstat (limited to 'Source/cmMakefileTargetGenerator.cxx')
-rw-r--r--Source/cmMakefileTargetGenerator.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 1dd48b3..5e3bf61 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -126,8 +126,11 @@ void cmMakefileTargetGenerator::GetDeviceLinkFlags(
std::vector<std::string> linkOpts;
this->GeneratorTarget->GetLinkOptions(linkOpts, this->GetConfigName(),
linkLanguage);
+ this->LocalGenerator->SetLinkScriptShell(
+ this->GlobalGenerator->GetUseLinkScript());
// LINK_OPTIONS are escaped.
this->LocalGenerator->AppendCompileOptions(linkFlags, linkOpts);
+ this->LocalGenerator->SetLinkScriptShell(false);
}
void cmMakefileTargetGenerator::GetTargetLinkFlags(
@@ -144,8 +147,11 @@ void cmMakefileTargetGenerator::GetTargetLinkFlags(
std::vector<std::string> opts;
this->GeneratorTarget->GetLinkOptions(opts, this->GetConfigName(),
linkLanguage);
+ this->LocalGenerator->SetLinkScriptShell(
+ this->GlobalGenerator->GetUseLinkScript());
// LINK_OPTIONS are escaped.
this->LocalGenerator->AppendCompileOptions(flags, opts);
+ this->LocalGenerator->SetLinkScriptShell(false);
this->LocalGenerator->AppendPositionIndependentLinkerFlags(
flags, this->GeneratorTarget, this->GetConfigName(), linkLanguage);