Skip to content

Commit

Permalink
Update RPATHs
Browse files Browse the repository at this point in the history
  • Loading branch information
ahsan-ca committed Jun 14, 2024
1 parent 24634d1 commit 86b774f
Showing 1 changed file with 29 additions and 8 deletions.
37 changes: 29 additions & 8 deletions share/rocmcmakebuildtools/cmake/ROCMInstallTargets.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,10 @@ function(rocm_install_targets)
set(EXPORT_FILE ${PARSE_EXPORT})
endif()

if(POLICY CMP0095)
cmake_policy(SET CMP0095 NEW)
endif()

if(PARSE_PREFIX)
set(PREFIX_DIR ${PARSE_PREFIX})
if(PARSE_PRIVATE)
Expand Down Expand Up @@ -200,24 +204,41 @@ function(rocm_install_targets)

foreach(TARGET IN LISTS PARSE_TARGETS)
get_target_property(T_TYPE ${TARGET} TYPE)
if(NOT PARSE_PRIVATE AND NOT T_TYPE STREQUAL "INTERFACE_LIBRARY")
if(NOT T_TYPE STREQUAL "INTERFACE_LIBRARY")
# TODO: Create a function to set INSTALL_RPATH
if(POLICY CMP0095)
set_property(TARGET ${TARGET} APPEND PROPERTY INSTALL_RPATH "${ORIGIN}/${PROJECT_NAME}/lib")
set_property(TARGET ${TARGET} APPEND PROPERTY INSTALL_RPATH "$ORIGIN/../lib")
message("------- POLICY CMP0095 INSTALL RPATH.")
else()
set_property(TARGET ${TARGET} APPEND PROPERTY INSTALL_RPATH "\\\${ORIGIN}/${PROJECT_NAME}/lib")
set_property(TARGET ${TARGET} APPEND PROPERTY
INSTALL_RPATH "\\\${ORIGIN}/../lib")
message("------- POLICY CMP0095 NOT SET - INSTALL RPATH.")
endif()
endif()
set(export_arg EXPORT ${EXPORT_FILE})
if(T_TYPE STREQUAL "EXECUTABLE")
# Adding RPATH to the private libraries.
if(PARSE_PRIVATE)
if(POLICY CMP0095)
set_property(TARGET ${TARGET} APPEND PROPERTY INSTALL_RPATH "${ORIGIN}/../lib/${PROJECT_NAME}/lib")
set_property(TARGET ${TARGET} APPEND PROPERTY INSTALL_RPATH "$ORIGIN/../../")
message("------- POLICY CMP0095 INSTALL RPATH.")
else()
set_property(TARGET ${TARGET} APPEND PROPERTY
INSTALL_RPATH "\\\${ORIGIN}/../../")
message("------- POLICY CMP0095 NOT SET - INSTALL RPATH.")
endif()
# Adding RPATH to libraries/executables that are not private.
else()
if(POLICY CMP0095)
set_property(TARGET ${TARGET} APPEND PROPERTY INSTALL_RPATH "$ORIGIN/../lib/${PROJECT_NAME}/lib")
message("------- POLICY CMP0095 INSTALL RPATH.")
else()
set_property(TARGET ${TARGET} APPEND PROPERTY
INSTALL_RPATH "\\\${ORIGIN}/../lib/${PROJECT_NAME}/lib")
INSTALL_RPATH "\\\${ORIGIN}/../lib/${PROJECT_NAME}/lib")
message("------- POLICY CMP0095 NOT SET - INSTALL RPATH.")
endif()
endif()
endif()

set(export_arg EXPORT ${EXPORT_FILE})
if(T_TYPE STREQUAL "EXECUTABLE")
unset(export_arg)
endif()
install(
Expand Down

0 comments on commit 86b774f

Please sign in to comment.