1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00

[CMake] Don't enable BUILD_WITH_INSTALL_RPATH when using custom build rpath

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.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D93177
This commit is contained in:
Raul Tambre 2021-01-07 12:32:41 +02:00
parent 43a26ec463
commit 6b18c766ea

View File

@ -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(NOT "${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(NOT "${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()