diff --git a/hipamd/hip-backward-compat.cmake b/hipamd/hip-backward-compat.cmake index e8f66dbfd6..bd32f0f203 100644 --- a/hipamd/hip-backward-compat.cmake +++ b/hipamd/hip-backward-compat.cmake @@ -59,7 +59,7 @@ function(generate_wrapper_header) set(include_guard "HIP_WRAPPER_INCLUDE_HIP_${INC_GAURD_NAME}_H") #set #include statement get_filename_component(file_name ${header_file} NAME) - set(include_statements "#include \"../../../include/hip/${file_name}\"\n") + set(include_statements "#include \"../../../${CMAKE_INSTALL_INCLUDEDIR}/hip/${file_name}\"\n") if(${file_name} STREQUAL "hip_version.h") set_file_contents(${header_file}) else() @@ -77,7 +77,7 @@ function(generate_wrapper_header) set(include_guard "HIP_WRAPPER_INCLUDE_HIP_AMD_DETAIL_${INC_GAURD_NAME}_H") #set #include statement get_filename_component(file_name ${header_file} NAME) - set(include_statements "#include \"../../../../include/hip/amd_detail/${file_name}\"\n") + set(include_statements "#include \"../../../../${CMAKE_INSTALL_INCLUDEDIR}/hip/amd_detail/${file_name}\"\n") configure_file(${HIP_SRC_PATH}/header_template.hpp.in ${HIP_WRAPPER_INC_DIR}/amd_detail/${file_name}) endforeach() @@ -92,7 +92,7 @@ function(generate_wrapper_header) set(include_guard "HIP_WRAPPER_INCLUDE_HIP_NVIDIA_DETAIL_${INC_GAURD_NAME}_H") #set #include statement get_filename_component(file_name ${header_file} NAME) - set(include_statements "#include \"../../../../include/hip/nvidia_detail/${file_name}\"\n") + set(include_statements "#include \"../../../../${CMAKE_INSTALL_INCLUDEDIR}/hip/nvidia_detail/${file_name}\"\n") configure_file(${HIP_SRC_PATH}/header_template.hpp.in ${HIP_WRAPPER_INC_DIR}/nvidia_detail/${file_name}) endforeach() @@ -111,7 +111,7 @@ function(create_binary_symlink) add_custom_target(link_${file_name} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../bin/${file_name} ${HIP_WRAPPER_BIN_DIR}/${file_name}) + ../../${CMAKE_INSTALL_BINDIR}/${file_name} ${HIP_WRAPPER_BIN_DIR}/${file_name}) endforeach() unset(binary_files) @@ -122,14 +122,14 @@ function(create_binary_symlink) add_custom_target(link_${file_name} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../bin/${file_name} ${HIP_WRAPPER_BIN_DIR}/${file_name}) + ../../${CMAKE_INSTALL_BINDIR}/${file_name} ${HIP_WRAPPER_BIN_DIR}/${file_name}) else() if( NOT ${file_name} MATCHES ".bat$") add_custom_target(link_${file_name} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../bin/${file_name} ${HIP_WRAPPER_BIN_DIR}/${file_name}) + ../../${CMAKE_INSTALL_BINDIR}/${file_name} ${HIP_WRAPPER_BIN_DIR}/${file_name}) endif()#end of bat file check endif()#end of OS check endforeach() @@ -157,14 +157,14 @@ function(create_library_symlink) add_custom_target(link_${file_name} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../lib/${file_name} ${HIP_WRAPPER_LIB_DIR}/${file_name}) + ../../${CMAKE_INSTALL_LIBDIR}/${file_name} ${HIP_WRAPPER_LIB_DIR}/${file_name}) endforeach() #Add symlink for .hipInfo set(file_name ${HIP_INFO_FILE}) add_custom_target(link_${file_name} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../lib/${file_name} ${HIP_WRAPPER_LIB_DIR}/${file_name}) + ../../${CMAKE_INSTALL_LIBDIR}/${file_name} ${HIP_WRAPPER_LIB_DIR}/${file_name}) endfunction() function(create_cmake_symlink) @@ -176,7 +176,7 @@ function(create_cmake_symlink) add_custom_target(link_${file_name} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../../../lib/cmake/hip/${file_name} ${HIP_WRAPPER_CMAKE_DIR}/hip/${file_name}) + ../../../../${CMAKE_INSTALL_LIBDIR}/cmake/hip/${file_name} ${HIP_WRAPPER_CMAKE_DIR}/hip/${file_name}) endforeach() #create symlink to hip-lang unset(config_files) @@ -187,7 +187,7 @@ function(create_cmake_symlink) add_custom_target(link_${file_name} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../../../lib/cmake/hip-lang/${file_name} ${HIP_WRAPPER_CMAKE_DIR}/hip-lang/${file_name}) + ../../../../${CMAKE_INSTALL_LIBDIR}/cmake/hip-lang/${file_name} ${HIP_WRAPPER_CMAKE_DIR}/hip-lang/${file_name}) endforeach() unset(config_files) @@ -199,7 +199,7 @@ function(create_cmake_symlink) add_custom_target(link_${file_name} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../../lib/cmake/hip/FindHIP/${file_name} ${HIP_WRAPPER_FINDHIP_DIR}/FindHIP/${file_name}) + ../../../${CMAKE_INSTALL_LIBDIR}/cmake/hip/FindHIP/${file_name} ${HIP_WRAPPER_FINDHIP_DIR}/FindHIP/${file_name}) endforeach() unset(config_files) @@ -209,7 +209,7 @@ function(create_cmake_symlink) add_custom_target(link_${file_name} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../lib/cmake/hip/${file_name} ${HIP_WRAPPER_FINDHIP_DIR}/${file_name}) + ../../${CMAKE_INSTALL_LIBDIR}/cmake/hip/${file_name} ${HIP_WRAPPER_FINDHIP_DIR}/${file_name}) endforeach() endfunction() diff --git a/hipamd/packaging/CMakeLists.txt b/hipamd/packaging/CMakeLists.txt index 5b329b9123..8484795d5c 100644 --- a/hipamd/packaging/CMakeLists.txt +++ b/hipamd/packaging/CMakeLists.txt @@ -18,7 +18,7 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.16.8) #set components for HIP if(HIP_CATCH_TEST EQUAL "1") @@ -35,34 +35,34 @@ set(CPACK_DEB_COMPONENT_INSTALL ON) ###Set License#### set(CPACK_RESOURCE_FILE_LICENSE ${hip_SOURCE_DIR}/LICENSE.txt) -install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION share/doc/${PROJECT_NAME} COMPONENT binary) +install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary) set(CPACK_RPM_PACKAGE_LICENSE "MIT") #Begin binary files install if(HIP_PLATFORM STREQUAL "amd" ) if(BUILD_SHARED_LIBS) - install(FILES ${CMAKE_BINARY_DIR}/lib/libamdhip64.so DESTINATION lib COMPONENT binary) - install(FILES ${CMAKE_BINARY_DIR}/lib/libamdhip64.so.${HIP_LIB_VERSION_MAJOR} DESTINATION lib COMPONENT binary) - install(FILES ${CMAKE_BINARY_DIR}/lib/libamdhip64.so.${HIP_LIB_VERSION_STRING} DESTINATION lib COMPONENT binary) - install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc.so DESTINATION lib COMPONENT binary) - install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc.so.${HIP_LIB_VERSION_MAJOR} DESTINATION lib COMPONENT binary) - install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc.so.${HIP_LIB_VERSION_STRING} DESTINATION lib COMPONENT binary) - install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc-builtins.so DESTINATION lib COMPONENT binary) - install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc-builtins.so.${HIP_LIB_VERSION_MAJOR} DESTINATION lib COMPONENT binary) - install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc-builtins.so.${HIP_LIB_VERSION_STRING} DESTINATION lib COMPONENT binary) + install(FILES ${CMAKE_BINARY_DIR}/lib/libamdhip64.so DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) + install(FILES ${CMAKE_BINARY_DIR}/lib/libamdhip64.so.${HIP_LIB_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) + install(FILES ${CMAKE_BINARY_DIR}/lib/libamdhip64.so.${HIP_LIB_VERSION_STRING} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) + install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc.so DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) + install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc.so.${HIP_LIB_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) + install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc.so.${HIP_LIB_VERSION_STRING} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) + install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc-builtins.so DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) + install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc-builtins.so.${HIP_LIB_VERSION_MAJOR} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) + install(FILES ${CMAKE_BINARY_DIR}/lib/libhiprtc-builtins.so.${HIP_LIB_VERSION_STRING} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) else() - install(FILES ${CMAKE_BINARY_DIR}/lib/libamdhip64.a DESTINATION lib COMPONENT binary) + install(FILES ${CMAKE_BINARY_DIR}/lib/libamdhip64.a DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) endif()#End BUILD_SHARED_LIBS #TODO:This do not belong in BINARY package. #Keeping it as is for now -install(FILES ${CMAKE_BINARY_DIR}/.hipInfo DESTINATION lib COMPONENT binary) -install(FILES ${CMAKE_BINARY_DIR}/hip-config.cmake ${CMAKE_BINARY_DIR}/hip-config-version.cmake DESTINATION lib/cmake/hip COMPONENT binary) -install ( EXPORT hip-targets FILE hip-targets.cmake NAMESPACE hip:: DESTINATION lib/cmake/hip COMPONENT binary) +install(FILES ${CMAKE_BINARY_DIR}/.hipInfo DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) +install(FILES ${CMAKE_BINARY_DIR}/hip-config.cmake ${CMAKE_BINARY_DIR}/hip-config-version.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip COMPONENT binary) +install ( EXPORT hip-targets FILE hip-targets.cmake NAMESPACE hip:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip COMPONENT binary) -install(FILES ${CMAKE_BINARY_DIR}/src/hip-lang-config.cmake ${CMAKE_BINARY_DIR}/src/hip-lang-config-version.cmake DESTINATION lib/cmake/hip-lang COMPONENT binary) +install(FILES ${CMAKE_BINARY_DIR}/src/hip-lang-config.cmake ${CMAKE_BINARY_DIR}/src/hip-lang-config-version.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip-lang COMPONENT binary) -install ( EXPORT hip-lang-targets FILE hip-lang-targets.cmake NAMESPACE hip-lang:: DESTINATION lib/cmake/hip-lang COMPONENT binary) +install ( EXPORT hip-lang-targets FILE hip-lang-targets.cmake NAMESPACE hip-lang:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip-lang COMPONENT binary) endif()#End HIP_PLATFORM = "amd" #End bianry files install @@ -83,15 +83,15 @@ install(DIRECTORY ${hip_SOURCE_DIR}/bin DESTINATION . COMPONENT dev DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) install(DIRECTORY ${HIP_COMMON_DIR}/include DESTINATION . COMPONENT dev) install(DIRECTORY ${hip_SOURCE_DIR}/include/hip/amd_detail - DESTINATION include/hip COMPONENT dev) + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hip COMPONENT dev) install(DIRECTORY ${hip_SOURCE_DIR}/include/hip/nvidia_detail - DESTINATION include/hip COMPONENT dev) + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hip COMPONENT dev) install(FILES ${CMAKE_BINARY_DIR}/include/hip/amd_detail/hip_prof_str.h - DESTINATION include/hip/amd_detail COMPONENT dev) + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hip/amd_detail COMPONENT dev) install(FILES ${CMAKE_BINARY_DIR}/include/hip/hip_version.h - DESTINATION include/hip COMPONENT dev) -install(FILES ${CMAKE_BINARY_DIR}/.hipVersion DESTINATION bin COMPONENT dev) -install(DIRECTORY ${HIP_COMMON_DIR}/cmake/ DESTINATION lib/cmake/hip COMPONENT dev) + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hip COMPONENT dev) +install(FILES ${CMAKE_BINARY_DIR}/.hipVersion DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT dev) +install(DIRECTORY ${HIP_COMMON_DIR}/cmake/ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/hip COMPONENT dev) #End dev files install #Begin doc files install @@ -100,12 +100,12 @@ if(DOXYGEN_EXE) add_custom_target(build_doxygen ALL COMMAND HIP_PATH=${HIP_COMMON_DIR} doxygen ${HIP_COMMON_DIR}/docs/doxygen-input/doxy.cfg) install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/RuntimeAPI/html - DESTINATION share/doc/hip/RuntimeAPI COMPONENT doc) + DESTINATION ${CMAKE_INSTALL_DOCDIR}/RuntimeAPI COMPONENT doc) endif() #End doc files install #Begin samples files install -install(DIRECTORY ${HIP_COMMON_DIR}/samples DESTINATION share/hip COMPONENT samples) +install(DIRECTORY ${HIP_COMMON_DIR}/samples DESTINATION ${CMAKE_INSTALL_DATADIR}/hip COMPONENT samples) #End samples files install #Begin test files install diff --git a/hipamd/packaging/hip-devel.postinst b/hipamd/packaging/hip-devel.postinst index d2af3bd1e0..9b32b08854 100755 --- a/hipamd/packaging/hip-devel.postinst +++ b/hipamd/packaging/hip-devel.postinst @@ -19,7 +19,7 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. ROCMDIR=@ROCM_PATH@ -HIPINCDIR=$ROCMDIR/include/hip +HIPINCDIR=$ROCMDIR/@CMAKE_INSTALL_INCLUDEDIR@/hip CURRENTDIR=`pwd` # The following will be removed after upstream updation cd $HIPINCDIR diff --git a/hipamd/packaging/hip-devel.prerm b/hipamd/packaging/hip-devel.prerm index 92be883252..9dabd4d452 100755 --- a/hipamd/packaging/hip-devel.prerm +++ b/hipamd/packaging/hip-devel.prerm @@ -21,7 +21,7 @@ ROCMDIR=@ROCM_PATH@ CURRENTDIR=`pwd` -HIPINCDIR=$ROCMDIR/include/hip +HIPINCDIR=$ROCMDIR/@CMAKE_INSTALL_INCLUDEDIR@/hip ([ ! -d $HIPINCDIR ]) && exit 0 cd $HIPINCDIR rm hcc_detail diff --git a/hipamd/packaging/hip-runtime-amd.postinst b/hipamd/packaging/hip-runtime-amd.postinst index 563ae2f160..ffc1bbe6af 100755 --- a/hipamd/packaging/hip-runtime-amd.postinst +++ b/hipamd/packaging/hip-runtime-amd.postinst @@ -20,7 +20,7 @@ # THE SOFTWARE. ROCMDIR=@ROCM_PATH@ -ROCMCMAKEDIR=$ROCMDIR/lib/cmake +ROCMCMAKEDIR=$ROCMDIR/@CMAKE_INSTALL_LIBDIR@/cmake HIPCMAKEDIR=$ROCMDIR/hip/lib/cmake CURRENTDIR=`pwd` diff --git a/hipamd/packaging/hip-tests.txt b/hipamd/packaging/hip-tests.txt index da3d2fbe91..594b0e5cb0 100644 --- a/hipamd/packaging/hip-tests.txt +++ b/hipamd/packaging/hip-tests.txt @@ -18,8 +18,11 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.16.8) project(hip_catch_tests) +# Set default libdir to be "lib" for ROCm, distros/users can override this +set(CMAKE_INSTALL_LIBDIR "lib" CACHE STRING "Library install directory") +include(GNUInstallDirs) install(DIRECTORY @PROJECT_BINARY_DIR@/catch DESTINATION . @@ -66,6 +69,6 @@ endif() set ( CPACK_RESOURCE_FILE_LICENSE "@hip_SOURCE_DIR@/LICENSE.txt" ) # Install license file -install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION share/doc/${CPACK_PACKAGE_NAME}) +install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR}) set(CPACK_RPM_PACKAGE_LICENSE "MIT") include(CPack)