mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
Ninja: Avoid duplicating /DEF: linker flag with MSVC tools
In commit9a0d5a828a(Ninja: add /DEF: flag to linker call, 2012-03-10, v2.8.8~22^2~7) the logic should have been added to `GetTargetFlags` in place of the older logic in that method from commit7cef36c628(ENH: add the ability to generate custom commands for a language that is not supported by an IDE, 2004-10-21, v2.4.0~2655). Fixes: #23570
This commit is contained in:
@@ -1448,22 +1448,6 @@ void cmLocalGenerator::GetTargetFlags(
|
||||
sharedLibFlags += this->Makefile->GetSafeDefinition(build);
|
||||
sharedLibFlags += " ";
|
||||
}
|
||||
if (this->Makefile->IsOn("WIN32") &&
|
||||
!(this->Makefile->IsOn("CYGWIN") ||
|
||||
this->Makefile->IsOn("MINGW"))) {
|
||||
std::vector<cmSourceFile*> sources;
|
||||
target->GetSourceFiles(sources, config);
|
||||
std::string defFlag =
|
||||
this->Makefile->GetSafeDefinition("CMAKE_LINK_DEF_FILE_FLAG");
|
||||
for (cmSourceFile* sf : sources) {
|
||||
if (sf->GetExtension() == "def") {
|
||||
sharedLibFlags += defFlag;
|
||||
sharedLibFlags +=
|
||||
this->ConvertToOutputFormat(sf->ResolveFullPath(), SHELL);
|
||||
sharedLibFlags += " ";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cmValue targetLinkFlags = target->GetProperty("LINK_FLAGS");
|
||||
@@ -1577,6 +1561,8 @@ void cmLocalGenerator::GetTargetFlags(
|
||||
this->AppendPositionIndependentLinkerFlags(extraLinkFlags, target, config,
|
||||
linkLanguage);
|
||||
this->AppendIPOLinkerFlags(extraLinkFlags, target, config, linkLanguage);
|
||||
this->AppendModuleDefinitionFlag(extraLinkFlags, target, linkLineComputer,
|
||||
config);
|
||||
|
||||
if (!extraLinkFlags.empty()) {
|
||||
linkFlags.emplace_back(std::move(extraLinkFlags));
|
||||
|
||||
Reference in New Issue
Block a user