SWDEV-273235 - Partial cleanup of HIP installation logic

Don't install HIP source code.

Correctly install the HIP shared library based on platform. On Linux,
it will be installed to lib/, but on Windows it will be installed to
bin/. CMake will handle this for us.

Change-Id: I00cc074ad8e13b1b953b21444f0c2b5f50dc03c0


[ROCm/hip commit: 444d54df12]
Цей коміт міститься в:
Vladislav Sytchenko
2021-05-28 14:51:14 -04:00
джерело f112ad301e
коміт c6c942c9ed
2 змінених файлів з 17 додано та 14 видалено
-3
Переглянути файл
@@ -315,9 +315,6 @@ install(FILES ${PROJECT_BINARY_DIR}/.hipVersion DESTINATION bin)
execute_process(COMMAND test ${CMAKE_INSTALL_PREFIX} -ef ${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE INSTALL_SOURCE)
if(NOT ${INSTALL_SOURCE} EQUAL 0)
if(HIP_RUNTIME STREQUAL "rocclr")
install(DIRECTORY rocclr DESTINATION .)
endif()
install(DIRECTORY bin DESTINATION . USE_SOURCE_PERMISSIONS)
# The following two lines will be removed after upstream updation
+17 -11
Переглянути файл
@@ -20,12 +20,7 @@
cmake_minimum_required(VERSION 3.5.1)
# TODO, this install logic is hacky. We should not be manually specifying install locations.
# Cmake should handle this for us based on the target properties.
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib)
set(CONFIG_PACKAGE_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/hip)
include(GNUInstallDirs)
if(ADDRESS_SANITIZER)
set(ASAN_LINKER_FLAGS "-fsanitize=address")
@@ -64,7 +59,10 @@ set_target_properties(amdhip PROPERTIES
CXX_STANDARD 14
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
POSITION_INDEPENDENT_CODE ON)
POSITION_INDEPENDENT_CODE ON
# Workaround for many places in the HIP project
# having hardcoded references to build/lib/libamdhip64.so
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set_target_properties(amdhip PROPERTIES OUTPUT_NAME "amdhip64")
@@ -240,18 +238,26 @@ add_custom_command(TARGET amdhip POST_BUILD COMMAND
add_custom_command(TARGET amdhip POST_BUILD COMMAND
${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/include ${PROJECT_BINARY_DIR}/include)
INSTALL(PROGRAMS $<TARGET_FILE:amdhip> DESTINATION lib COMPONENT MAIN)
add_library(host INTERFACE)
target_link_libraries(host INTERFACE amdhip)
add_library(device INTERFACE)
target_link_libraries(device INTERFACE host)
INSTALL(TARGETS amdhip host device EXPORT hip-targets DESTINATION ${LIB_INSTALL_DIR})
INSTALL(TARGETS amdhip host device
EXPORT hip-targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
INSTALL(EXPORT hip-targets DESTINATION ${CONFIG_PACKAGE_INSTALL_DIR} NAMESPACE hip::)
INSTALL(TARGETS amdhip host device EXPORT hip-lang-targets DESTINATION ${LIB_INSTALL_DIR})
INSTALL(TARGETS amdhip host device
EXPORT hip-lang-targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
INSTALL(EXPORT hip-lang-targets DESTINATION ${CONFIG_LANG_PACKAGE_INSTALL_DIR} NAMESPACE hip-lang::)
if(NOT WIN32)