diff options
author | Alexander Neundorf <neundorf@kde.org> | 2008-01-02 21:53:10 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2008-01-02 21:53:10 (GMT) |
commit | 3da6fd9da4063faf05b85901d749fdc5c8f2d4ad (patch) | |
tree | f3caca22f4a8ed85d01f2c4f9320d0e73e886acf /Source/cmTarget.cxx | |
parent | 474629568c8b96b3883589a5dec8bba3cb0d53e0 (diff) | |
download | CMake-3da6fd9da4063faf05b85901d749fdc5c8f2d4ad.zip CMake-3da6fd9da4063faf05b85901d749fdc5c8f2d4ad.tar.gz CMake-3da6fd9da4063faf05b85901d749fdc5c8f2d4ad.tar.bz2 |
ENH: only allow usage of chrpath if the executable file format is ELF
Alex
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r-- | Source/cmTarget.cxx | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 747f169..14922c7 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -2537,7 +2537,8 @@ void cmTarget::GetLanguages(std::set<cmStdString>& 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; } |