SWDEV-444700 - CMAKE - Fix RUNPATH
These RUNPATH changes make it so libraries can be found without setting LD_LIBRARY_PATH. Mostly tested on installed RDC binaries and libraries. The build binaries should also work. Change-Id: Ifd908a5b61d24dfcbb1d08d21b4ee830156d8643 Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
Tento commit je obsažen v:
@@ -191,6 +191,9 @@ if(BUILD_STANDALONE)
|
||||
endif()
|
||||
message("-----------ROCM_DIR : " ${ROCM_DIR})
|
||||
|
||||
# this is needed for INSTALL_RPATH "\$ORIGIN" property to work correctly
|
||||
set(CMAKE_BUILD_RPATH_USE_ORIGIN TRUE CACHE BOOL "Set all RPATH to be ORIGIN-based")
|
||||
|
||||
## Add address sanitizer
|
||||
if(${ADDRESS_SANITIZER})
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -g")
|
||||
|
||||
Binární soubor nebyl zobrazen.
@@ -129,6 +129,8 @@ if(RDC_LIB_MODULES)
|
||||
EXPORT rdcTargets
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${RDC}
|
||||
COMPONENT ${CLIENT_COMPONENT})
|
||||
set_target_properties(${RDC_LIB_MODULES}
|
||||
PROPERTIES INSTALL_RPATH "\$ORIGIN:\$ORIGIN/..")
|
||||
endif()
|
||||
|
||||
install(FILES ${PROJECT_SOURCE_DIR}/include/rdc/rdc.h
|
||||
|
||||
@@ -40,6 +40,8 @@ set_property(TARGET ${BOOTSTRAP_LIB} PROPERTY
|
||||
SOVERSION "${VERSION_MAJOR}")
|
||||
set_property(TARGET ${BOOTSTRAP_LIB} PROPERTY
|
||||
VERSION "${SO_VERSION_STRING}")
|
||||
set_target_properties(${BOOTSTRAP_LIB}
|
||||
PROPERTIES INSTALL_RPATH "\$ORIGIN:\$ORIGIN/rdc")
|
||||
|
||||
# If the library is a release, strip the target library
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL Release)
|
||||
|
||||
@@ -75,6 +75,8 @@ set_property(TARGET ${RDC_LIB} PROPERTY
|
||||
SOVERSION "${VERSION_MAJOR}")
|
||||
set_property(TARGET ${RDC_LIB} PROPERTY
|
||||
VERSION "${SO_VERSION_STRING}")
|
||||
set_target_properties(${RDC_LIB}
|
||||
PROPERTIES INSTALL_RPATH "\$ORIGIN")
|
||||
|
||||
# If the library is a release, strip the target library
|
||||
if("${CMAKE_BUILD_TYPE}" STREQUAL Release)
|
||||
|
||||
@@ -80,6 +80,10 @@ link_directories(${RSMI_LIB_DIR})
|
||||
|
||||
add_executable(${SERVER_DAEMON_EXE} "${SERVER_SRC_LIST}")
|
||||
|
||||
# help find librdc_bootstrap.so at runtime
|
||||
set_target_properties(${SERVER_DAEMON_EXE}
|
||||
PROPERTIES INSTALL_RPATH "\$ORIGIN/../lib")
|
||||
|
||||
target_link_libraries(${SERVER_DAEMON_EXE} pthread rt gRPC::grpc++
|
||||
cap dl rocm_smi64 rdc_bootstrap)
|
||||
|
||||
|
||||
Odkázat v novém úkolu
Zablokovat Uživatele