[llvm-branch-commits] [llvm] d9ce31a - Re-land "[CMake] Don't enable BUILD_WITH_INSTALL_RPATH when using custom build rpath"
Raul Tambre via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jan 8 10:30:52 PST 2021
Author: Raul Tambre
Date: 2021-01-08T20:26:08+02:00
New Revision: d9ce31ae7d1fc68de0ea1535fd25ef84e69aeb07
URL: https://github.com/llvm/llvm-project/commit/d9ce31ae7d1fc68de0ea1535fd25ef84e69aeb07
DIFF: https://github.com/llvm/llvm-project/commit/d9ce31ae7d1fc68de0ea1535fd25ef84e69aeb07.diff
LOG: Re-land "[CMake] Don't enable BUILD_WITH_INSTALL_RPATH when using custom build rpath"
Reverted check for empty CMAKE_BUILD_RPATH fixed.
When `BUILD_WITH_INSTALL_RPATH` is enabled it prevents using a custom rpath only
for the build tree as the install rpath will be used. This makes it impossible to run a
runtimes build when compiling with Clang and wanting the installed rpath to be
empty (i.e. `-DCMAKE_BUILD_RPATH="<some path>" -DCMAKE_SKIP_INSTALL_RPATH=ON`).
Disable `BUILD_WITH_INSTALL_RPATH` when `CMAKE_BUILD_RPATH` is non-empty to
allow for such build scenarios.
Differential Revision: https://reviews.llvm.org/D94322
Added:
Modified:
llvm/cmake/modules/AddLLVM.cmake
Removed:
################################################################################
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index b86fbdaaa6d8..17b3ad381ea6 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -865,10 +865,13 @@ macro(add_llvm_executable name)
if(NOT ARG_NO_INSTALL_RPATH)
llvm_setup_rpath(${name})
- elseif (LLVM_LOCAL_RPATH)
- set_target_properties(${name} PROPERTIES
- BUILD_WITH_INSTALL_RPATH On
- INSTALL_RPATH "${LLVM_LOCAL_RPATH}")
+ else()
+ # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set.
+ if("${CMAKE_BUILD_RPATH}" STREQUAL "")
+ set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON)
+ endif()
+
+ set_property(TARGET ${name} PROPERTY INSTALL_RPATH "${LLVM_LOCAL_RPATH}")
endif()
if(DEFINED windows_resource_file)
@@ -2113,8 +2116,12 @@ function(llvm_setup_rpath name)
return()
endif()
+ # Enable BUILD_WITH_INSTALL_RPATH unless CMAKE_BUILD_RPATH is set.
+ if("${CMAKE_BUILD_RPATH}" STREQUAL "")
+ set_property(TARGET ${name} PROPERTY BUILD_WITH_INSTALL_RPATH ON)
+ endif()
+
set_target_properties(${name} PROPERTIES
- BUILD_WITH_INSTALL_RPATH On
INSTALL_RPATH "${_install_rpath}"
${_install_name_dir})
endfunction()
More information about the llvm-branch-commits
mailing list