diff --git a/CMakeLists.txt b/CMakeLists.txt index 0afe2fb19f..a6421400b3 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -196,7 +196,10 @@ endif() message("-----------ROCM_DIR : " ${ROCM_DIR}) # this is needed for INSTALL_RPATH "\$ORIGIN" property to work correctly +# please note that because of --enable-new-dtags - this actually sets RUNPATH and not RPATH. +# this means LD_LIBRARY_PATH can override the library locations set(CMAKE_BUILD_RPATH_USE_ORIGIN TRUE CACHE BOOL "Set all RPATH to be ORIGIN-based") +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE CACHE BOOL "Use link path for RPATH") ## Add address sanitizer if(${ADDRESS_SANITIZER}) diff --git a/rdci/CMakeLists.txt b/rdci/CMakeLists.txt index 264d92bcfc..d67a218291 100644 --- a/rdci/CMakeLists.txt +++ b/rdci/CMakeLists.txt @@ -72,17 +72,22 @@ set(RDCI_SRC_LIST message("RDCI_SRC_LIST=${RDCI_SRC_LIST}") set(RDCI_EXE "rdci") +link_directories(${SMI_LIB_DIR}) + add_executable(${RDCI_EXE} "${RDCI_SRC_LIST}") -target_link_libraries(${RDCI_EXE} pthread dl rdc_bootstrap gRPC::grpc++) +# help find librdc_bootstrap.so at runtime +set_target_properties(${RDCI_EXE} + PROPERTIES INSTALL_RPATH "\$ORIGIN/../lib:\$ORIGIN/../lib/rdc/grpc/lib") +target_link_libraries(${RDCI_EXE} pthread dl gRPC::grpc++ rdc_bootstrap) ## Add the install directives for the rdci executable -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${RDCI_EXE} +install(TARGETS ${RDCI_EXE} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE - COMPONENT ${CLIENT_COMPONENT} - DESTINATION ${CMAKE_INSTALL_BINDIR}) + DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT ${CLIENT_COMPONENT}) message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt index ec8aadf458..1f2819a987 100755 --- a/server/CMakeLists.txt +++ b/server/CMakeLists.txt @@ -83,12 +83,12 @@ 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") + PROPERTIES INSTALL_RPATH "\$ORIGIN/../lib:\$ORIGIN/../lib/rdc/grpc/lib") target_link_libraries(${SERVER_DAEMON_EXE} pthread rt gRPC::grpc++ cap dl amd_smi rdc_bootstrap) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SERVER_DAEMON_EXE} +install(TARGETS ${SERVER_DAEMON_EXE} PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE DESTINATION ${CMAKE_INSTALL_BINDIR}