summaryrefslogtreecommitdiffstats
path: root/Source/cmComputeLinkInformation.cxx
diff options
context:
space:
mode:
authorChuck Atkins <chuck.atkins@kitware.com>2010-02-15 16:22:36 (GMT)
committerBrad King <brad.king@kitware.com>2010-03-26 13:33:28 (GMT)
commite750761857fa2e35ad9630b13606570c561ae829 (patch)
tree9baea65512a386950c970a08374a74d96235dd1c /Source/cmComputeLinkInformation.cxx
parenta8abb30c38443dbd5063df05bcdceb233c9678ff (diff)
downloadCMake-e750761857fa2e35ad9630b13606570c561ae829.zip
CMake-e750761857fa2e35ad9630b13606570c561ae829.tar.gz
CMake-e750761857fa2e35ad9630b13606570c561ae829.tar.bz2
OpenBSD: Work-around static/runtime linker inconsistency
Detect the runtime linker's search path and add to the compile time linker's search path. This is needed because OpenBSD's static linker does not search for shared library dependencies in the same places as the runtime linker.
Diffstat (limited to 'Source/cmComputeLinkInformation.cxx')
-rw-r--r--Source/cmComputeLinkInformation.cxx10
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx
index 69a4d22..d84da52 100644
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -376,6 +376,8 @@ cmComputeLinkInformation
{
this->OrderDependentRPath
->SetImplicitDirectories(this->ImplicitLinkDirs);
+ this->OrderDependentRPath
+ ->AddLanguageDirectories(this->RuntimeLinkDirs);
}
// Decide whether to enable compatible library search path mode.
@@ -1642,6 +1644,14 @@ void cmComputeLinkInformation::LoadImplicitLinkInfo()
this->ImplicitLinkLibs.insert(item);
}
}
+
+ // Get platform specific rpath link directories
+ if(const char *rpathDirs =
+ (this->Makefile->GetDefinition
+ ("CMAKE_PLATFORM_RUNTIME_PATH")))
+ {
+ cmSystemTools::ExpandListArgument(rpathDirs, this->RuntimeLinkDirs);
+ }
}
//----------------------------------------------------------------------------