summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorEd Maste <emaste@freebsd.org>2014-03-09 18:48:45 +0000
committerEd Maste <emaste@freebsd.org>2014-03-09 18:48:45 +0000
commitd6728add42d43d98fc52498092192895ed5308ef (patch)
treed3be58f18ff942ad7c20f9f076267ed01de4cd4d /CMakeLists.txt
parent124c86ee4a9a4d63e488abcba931175b6fd9f42b (diff)
downloadllvm-d6728add42d43d98fc52498092192895ed5308ef.tar.gz
llvm-d6728add42d43d98fc52498092192895ed5308ef.tar.bz2
llvm-d6728add42d43d98fc52498092192895ed5308ef.tar.xz
Work around FreeBSD rtld rpath $ORIGIN limitation
FreeBSD's rtld requires the DF_ORIGIN flag set in order to process $ORIGIN in rpath. FreeBSD bug http://bugs.freebsd.org/187114 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203419 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt3
1 files changed, 3 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f3a09dd9f5..7c315cbe4b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -445,6 +445,9 @@ if (APPLE)
else(UNIX)
if(NOT DEFINED CMAKE_INSTALL_RPATH)
set(CMAKE_INSTALL_RPATH "\$ORIGIN/../lib")
+ if (${CMAKE_SYSTEM_NAME} MATCHES FreeBSD)
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,origin")
+ endif()
endif(NOT DEFINED CMAKE_INSTALL_RPATH)
endif()