summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorThomas Bernard <thomas@famillebernardgouriou.fr>2021-09-16 22:24:42 (GMT)
committerThomas Bernard <thomas@famillebernardgouriou.fr>2021-09-16 22:35:32 (GMT)
commitb73857561fe3ffb8ee0ce3057706c51faabf2e4d (patch)
tree6223008d42f758883e13615af09a70b90af8676e /Source
parentc2c1c701c7f0768c382c819b6922b134690212ba (diff)
downloadCMake-b73857561fe3ffb8ee0ce3057706c51faabf2e4d.zip
CMake-b73857561fe3ffb8ee0ce3057706c51faabf2e4d.tar.gz
CMake-b73857561fe3ffb8ee0ce3057706c51faabf2e4d.tar.bz2
Clang: embed windows manifests with GNU interface
Solves: #22611
Diffstat (limited to 'Source')
-rw-r--r--Source/cmCommonTargetGenerator.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/Source/cmCommonTargetGenerator.cxx b/Source/cmCommonTargetGenerator.cxx
index 59e4141..4e7f50d 100644
--- a/Source/cmCommonTargetGenerator.cxx
+++ b/Source/cmCommonTargetGenerator.cxx
@@ -240,11 +240,16 @@ std::string cmCommonTargetGenerator::GetManifests(const std::string& config)
std::vector<std::string> manifests;
manifests.reserve(manifest_srcs.size());
+
+ std::string lang = this->GeneratorTarget->GetLinkerLanguage(config);
+ std::string const& manifestFlag =
+ this->Makefile->GetDefinition("CMAKE_" + lang + "_LINKER_MANIFEST_FLAG");
for (cmSourceFile const* manifest_src : manifest_srcs) {
- manifests.push_back(this->LocalCommonGenerator->ConvertToOutputFormat(
- this->LocalCommonGenerator->MaybeRelativeToWorkDir(
- manifest_src->GetFullPath()),
- cmOutputConverter::SHELL));
+ manifests.push_back(manifestFlag +
+ this->LocalCommonGenerator->ConvertToOutputFormat(
+ this->LocalCommonGenerator->MaybeRelativeToWorkDir(
+ manifest_src->GetFullPath()),
+ cmOutputConverter::SHELL));
}
return cmJoin(manifests, " ");