From 6ffe0abe966733a8a778da857c30592f941415d2 Mon Sep 17 00:00:00 2001 From: Diana Picus Date: Wed, 7 Sep 2016 08:37:15 +0000 Subject: [PATCH] [CMake] Use CMake's default RPATH for the unit tests In the top-level CMakeLists.txt, we set CMAKE_BUILD_WITH_INSTALL_RPATH to ON, and then for the unit tests we set it to /../../lib. This works for tests that live in unittest/, but not for those that live in subdirectories e.g. unittest/Transforms/IPO or unittest/ExecutionEngine/Orc. When building with BUILD_SHARED_LIBRARIES, such tests don't manage to find their libraries. Since the tests are run from the build directory, it makes sense to set their RPATH for the build tree, rather than the install tree. This is the default in CMake since 2.6, so all we have to do is set CMAKE_BUILD_WITH_INSTALL_RPATH to OFF for the unit tests. llvm-svn: 280791 --- unittests/CMakeLists.txt | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt index 49a9b31b60d..1758d2b2704 100644 --- a/unittests/CMakeLists.txt +++ b/unittests/CMakeLists.txt @@ -1,11 +1,9 @@ add_custom_target(UnitTests) set_target_properties(UnitTests PROPERTIES FOLDER "Tests") -if (APPLE) - set(CMAKE_INSTALL_RPATH "@executable_path/../../lib") -else(UNIX) - set(CMAKE_INSTALL_RPATH "\$ORIGIN/../../lib${LLVM_LIBDIR_SUFFIX}") -endif() +# People tend to run the tests _before_ installing, so we don't want the install +# rpath here. +set(CMAKE_BUILD_WITH_INSTALL_RPATH OFF) function(add_llvm_unittest test_dirname) add_unittest(UnitTests ${test_dirname} ${ARGN})