Use relative rpath so that the installation and build dirs are relocatable.
authorRafael Espindola <rafael.espindola@gmail.com>
Sat, 22 Feb 2014 00:54:14 +0000 (00:54 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Sat, 22 Feb 2014 00:54:14 +0000 (00:54 +0000)
This works by asking cmake to use the "install rpath", but setting that rpath
to be relative.

Thanks a lot to Brad King for the help with CMake!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201921 91177308-0d34-0410-b5e6-96231b3b80d8

CMakeLists.txt

index cd8b363f7a3d015421aad055453a2ad62739e88c..21c64b0b926c5e09063270669141534f2c8773ed 100644 (file)
@@ -423,9 +423,13 @@ set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/bin )
 set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib )
 set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib )
 
-if( NOT DEFINED CMAKE_INSTALL_RPATH )
-  set( CMAKE_INSTALL_RPATH "\$ORIGIN/../lib")
-endif( NOT DEFINED CMAKE_INSTALL_RPATH )
+set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
+if (APPLE)
+  set(CMAKE_INSTALL_NAME_DIR "@rpath")
+  set(CMAKE_INSTALL_RPATH "@executable_path/../lib")
+else(UNIX)
+  set(CMAKE_INSTALL_RPATH "\$ORIGIN/../lib")
+endif()
 
 set(CMAKE_INCLUDE_CURRENT_DIR ON)