Clang: embed windows manifests with GNU interface

Solves: #22611
This commit is contained in:
Thomas Bernard
2021-09-17 00:24:42 +02:00
parent c2c1c701c7
commit b73857561f
4 changed files with 18 additions and 7 deletions
+9 -4
View File
@@ -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, " ");