From 0f1fedbd6a298cf9af2f36577cc66c4ee167be3d Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Thu, 6 Oct 2016 22:25:44 +0200 Subject: CMP0065: Put computed flags into LINK_FLAGS not LINK_LIBRARIES These flags are redundant anyway in the NEW case of the policy, and could be merged with CMAKE_EXE_EXPORTS_${lang}_FLAG content for that case. That is deferred to the future, but now at least the similar code is located close to each other. --- Source/cmLocalGenerator.cxx | 10 +++++++++- Source/cmMakefileExecutableTargetGenerator.cxx | 5 +++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index a0f6423..3fabd53 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -1248,6 +1248,14 @@ void cmLocalGenerator::GetTargetFlags( linkFlags += this->Makefile->GetSafeDefinition(exportFlagVar); linkFlags += " "; } + + std::string cmp0065Flags = + this->GetLinkLibsCMP0065(linkLanguage, *target); + if (!cmp0065Flags.empty()) { + linkFlags += cmp0065Flags; + linkFlags += " "; + } + const char* targetLinkFlags = target->GetProperty("LINK_FLAGS"); if (targetLinkFlags) { linkFlags += targetLinkFlags; @@ -1430,7 +1438,7 @@ void cmLocalGenerator::OutputLinkLibraries(std::string& linkLibraries, std::string linkLanguage = cli.GetLinkLanguage(); - std::string linkLibs = this->GetLinkLibsCMP0065(linkLanguage, tgt); + std::string linkLibs; std::string libPathFlag = this->Makefile->GetRequiredDefinition("CMAKE_LIBRARY_PATH_FLAG"); diff --git a/Source/cmMakefileExecutableTargetGenerator.cxx b/Source/cmMakefileExecutableTargetGenerator.cxx index cb20117..42e12ad 100644 --- a/Source/cmMakefileExecutableTargetGenerator.cxx +++ b/Source/cmMakefileExecutableTargetGenerator.cxx @@ -192,6 +192,11 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink) this->LocalGenerator->AppendFlags( linkFlags, this->Makefile->GetDefinition(export_flag_var)); } + + this->LocalGenerator->AppendFlags(linkFlags, + this->LocalGenerator->GetLinkLibsCMP0065( + linkLanguage, *this->GeneratorTarget)); + if (this->GeneratorTarget->GetProperty("LINK_WHAT_YOU_USE")) { this->LocalGenerator->AppendFlags(linkFlags, " -Wl,--no-as-needed"); } -- cgit v0.12