From d5d4606190fc951b421e2bbd47585b99c46bf6bf Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 31 May 2016 16:30:15 -0500 Subject: [PATCH] Revert "cmake: use supplied RPATH instead of guessing" This reverts commit 8ec5adc953d6bbabbe62d7f7229f146202704e53. This broke stdenv on Darwin, see #15881. A Darwin user will need to fix the problem and un-revert. This commit causes CMake to use the same RPATH settings as the compiler, so it is obviously correct. --- .../tools/build-managers/cmake/setup-hook.sh | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh index adf05f1af97..eaabb37f498 100755 --- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh +++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh @@ -47,15 +47,9 @@ cmakeConfigurePhase() { cmakeFlags="-DCMAKE_INSTALL_LIBDIR=${!outputLib}/lib $cmakeFlags" cmakeFlags="-DCMAKE_INSTALL_INCLUDEDIR=${!outputDev}/include $cmakeFlags" - # Always build Release, to ensure optimisation flags. - cmakeFlags="-DCMAKE_BUILD_TYPE=Release $cmakeFlags" - # Do not change the RPATH between build and install, simply - # build with the correct RPATH in the first place. - cmakeFlags="-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE $cmakeFlags" - # Do not try to guess the correct RPATH based on linker flags. - cmakeFlags="-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE $cmakeFlags" - # Just use exactly our RPATH. - cmakeFlags="-DCMAKE_INSTALL_RPATH=$CMAKE_INSTALL_RPATH $cmakeFlags" + # Avoid cmake resetting the rpath of binaries, on make install + # And build always Release, to ensure optimisation flags + cmakeFlags="-DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON $cmakeFlags" echo "cmake flags: $cmakeFlags ${cmakeFlagsArray[@]}" @@ -83,7 +77,6 @@ makeCmakeFindLibs(){ ;; -L*) export CMAKE_LIBRARY_PATH="$CMAKE_LIBRARY_PATH${CMAKE_LIBRARY_PATH:+:}${flag:2}" - export CMAKE_INSTALL_RPATH="$CMAKE_INSTALL_RPATH${CMAKE_INSTALL_RPATH:+:}${flag:2}" ;; esac done