You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Changes need to be made in rocm-cmake to support installation of libraries at $ROCM_PATH/lib/migraphx.
First, a PRIVATE flag should be added to the rocm_install_targets that will install the binaries and headers under lib/${PROJECT_NAME}. So instead of installing in $<INSTALL_PREFIX>/lib or $<INSTALL_PREFIX>/include it will install into $<INSTALL_PREFIX>/lib/${PROJECT_NAME}/lib and $<INSTALL_PREFIX>/lib/${PROJECT_NAME}/include respectively. For ASAN build we will need to install into lib/asan/${PROJECT_NAME} instead.
Secondly, we will need to update the RPATH of every library to have this private path. This can be done by updating the RPATH property on non-private targets, something like this:
if(POLICY CMP0095)
set_property(TARGET ${TARGET} APPEND PROPERTY INSTALL_RPATH "\${ORIGIN}/${PROJECT_NAME}/lib")
else()
set_property(TARGET ${TARGET} APPEND PROPERTY INSTALL_RPATH "\\\${ORIGIN}/${PROJECT_NAME}/lib")
endif()
This RPATH should work for asan and non-asan builds.
Finally, we will need to update migraphx to use the PRIVATE flag to install the libraries and headers.
The text was updated successfully, but these errors were encountered:
ahsan-ca
changed the title
Rocm-cmake: move unstable libraries $ROCM_PATH/lib/migraphx
Rocm-cmake: move unstable libraries to $ROCM_PATH/lib/migraphx
May 6, 2024
Changes need to be made in rocm-cmake to support installation of libraries at
$ROCM_PATH/lib/migraphx
.First, a
PRIVATE
flag should be added to therocm_install_targets
that will install the binaries and headers underlib/${PROJECT_NAME}
. So instead of installing in$<INSTALL_PREFIX>/lib
or$<INSTALL_PREFIX>/include
it will install into$<INSTALL_PREFIX>/lib/${PROJECT_NAME}/lib
and$<INSTALL_PREFIX>/lib/${PROJECT_NAME}/include
respectively. ForASAN
build we will need to install intolib/asan/${PROJECT_NAME}
instead.Secondly, we will need to update the
RPATH
of every library to have this private path. This can be done by updating theRPATH
property on non-private targets, something like this:Finally, we will need to update migraphx to use the
PRIVATE
flag to install the libraries and headers.The text was updated successfully, but these errors were encountered: