diff --git a/offload/liboffload/CMakeLists.txt b/offload/liboffload/CMakeLists.txt index efb800f2495f9..613c6373d0e4d 100644 --- a/offload/liboffload/CMakeLists.txt +++ b/offload/liboffload/CMakeLists.txt @@ -39,10 +39,18 @@ target_compile_definitions(LLVMOffload PRIVATE DEBUG_PREFIX="Liboffload" ) -set_target_properties(LLVMOffload PROPERTIES - POSITION_INDEPENDENT_CODE ON - INSTALL_RPATH "$ORIGIN" - BUILD_RPATH "$ORIGIN:${CMAKE_CURRENT_BINARY_DIR}/..") +# Don't override an externally defined RPATH +if(NOT DEFINED CMAKE_INSTALL_RPATH) + set_target_properties(LLVMOffload PROPERTIES + POSITION_INDEPENDENT_CODE ON + INSTALL_RPATH "$ORIGIN:$ORIGIN/../lib:$ORIGIN/../../lib" + BUILD_RPATH "$ORIGIN:${CMAKE_CURRENT_BINARY_DIR}/..") +else() + set_target_properties(LLVMOffload PROPERTIES + POSITION_INDEPENDENT_CODE ON + INSTALL_RPATH ${CMAKE_INSTALL_RPATH} + BUILD_RPATH "$ORIGIN:${CMAKE_CURRENT_BINARY_DIR}/..") +endif() install(TARGETS LLVMOffload LIBRARY COMPONENT LLVMOffload DESTINATION "${OFFLOAD_INSTALL_LIBDIR}") install(FILES ${CMAKE_CURRENT_BINARY_DIR}/API/OffloadAPI.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/offload)