From 3da6fd9da4063faf05b85901d749fdc5c8f2d4ad Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Wed, 2 Jan 2008 16:53:10 -0500 Subject: [PATCH] ENH: only allow usage of chrpath if the executable file format is ELF Alex --- Source/cmTarget.cxx | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 747f16955..14922c78d 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -2537,7 +2537,8 @@ void cmTarget::GetLanguages(std::set& languages) const bool cmTarget::IsChrpathAvailable() { - //only return true if the flag is "-Wl,rpath," amd the separator is not empty + //only return true if chrpath has been found (happens only if the executable + // format is ELF) and if the separator is not empty if (this->Makefile->IsSet("CMAKE_CHRPATH")==false) { return false; @@ -2550,10 +2551,9 @@ bool cmTarget::IsChrpathAvailable() return false; } - std::string runTimeFlagVar = "CMAKE_SHARED_LIBRARY_RUNTIME_"; - runTimeFlagVar += linkLanguage; - runTimeFlagVar += "_FLAG"; - std::string runTimeFlagSepVar = runTimeFlagVar + "_SEP"; + std::string runTimeFlagSepVar = "CMAKE_SHARED_LIBRARY_RUNTIME_"; + runTimeFlagSepVar += linkLanguage; + runTimeFlagSepVar += "_FLAG_SEP"; std::string runtimeSep = this->Makefile->GetSafeDefinition(runTimeFlagSepVar.c_str()); @@ -2563,13 +2563,5 @@ bool cmTarget::IsChrpathAvailable() return 0; } - std::string runtimeFlag = - this->Makefile->GetSafeDefinition(runTimeFlagVar.c_str()); - - if (runtimeFlag!="-Wl,-rpath,") - { - return false; - } - return true; }