Fix and simplify rpath
authorRoland Schulz <roland@utk.edu>
Mon, 3 Feb 2014 23:19:57 +0000 (18:19 -0500)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Tue, 4 Feb 2014 18:18:36 +0000 (19:18 +0100)
- GMXLIB was removed by 0b2344 but forgotten to change for rpath.
- CMAKE_SKIP_BUILD_RPATH and CMAKE_BUILD_WITH_INSTALL_RPATH
  default to false
- No need to relink (CMAKE_BUILD_WITH_INSTALL_RPATH=false) if
  installing in the default lib directory. Saves the relinking
  time and makes rpath work correctly if build folder is moved.
- The extra escaping isn't needed anymore. Tested with 2.8.8,
  2.8.10.2 and 2.8.12.2

Change-Id: I09cf0f9a31c2c891d2aec6ab52dd9cd1d089cb97

CMakeLists.txt

index 424964d04dff12dc63e6c5259688e807b1629179..7c7e2e437efd140d30c207f1806212ae49a10b35 100644 (file)
@@ -741,14 +741,15 @@ include(gmxManageSuffixes)
 # Shared library settings
 ##################################################################
 if(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
-    set(CMAKE_SKIP_BUILD_RPATH  FALSE)
-    set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
-    set(CMAKE_INSTALL_RPATH "\\\$ORIGIN/../${GMXLIB}")
+    if(GMX_LIB_INSTALL_DIR STREQUAL "lib")
+        set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+    endif()
+    set(CMAKE_INSTALL_RPATH "\$ORIGIN/../${GMX_LIB_INSTALL_DIR}")
     set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
 else()
     if(CMAKE_SYSTEM_VERSION VERSION_GREATER 8.0) #rpath supported for >10.4
         set(CMAKE_INSTALL_NAME_DIR "@rpath")
-        set(GMX_EXE_LINKER_FLAGS ${GMX_EXE_LINKER_FLAGS} "-Wl,-rpath,@executable_path/../lib")
+        set(GMX_EXE_LINKER_FLAGS ${GMX_EXE_LINKER_FLAGS} "-Wl,-rpath,@executable_path/../${GMX_LIB_INSTALL_DIR}")
     else()
         set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}")
     endif()