Split rocprofiler to runtime and dev/devel package
SWDEV-356024 - Development package name will have suffix dev or devel based on OS Devel pacakge contents - Header files and non verioned lib file librocprofiler64.so Runtime package contents - Binaries, xml files, python files , script files, license file, librocprof-tool.so and versioned library files Change-Id: Id416b11f49a7d0acb917bc4936cc0cba0d101bee
This commit is contained in:
+43
-18
@@ -130,18 +130,28 @@ message ( "CMake-install-prefix: ${CMAKE_INSTALL_PREFIX}" )
|
||||
message ( "CPack-install-prefix: ${CPACK_PACKAGING_INSTALL_PREFIX}" )
|
||||
message ( "-----------Dest-name: ${DEST_NAME}" )
|
||||
|
||||
# Install header and library
|
||||
install ( TARGETS ${ROCPROFILER_TARGET} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
|
||||
## set components
|
||||
set ( CPACK_COMPONENTS_ALL runtime dev )
|
||||
## Enable Component Install
|
||||
set(CPACK_RPM_COMPONENT_INSTALL ON)
|
||||
set(CPACK_DEB_COMPONENT_INSTALL ON)
|
||||
|
||||
## Install libraries: Non versioned lib file in dev package
|
||||
install ( TARGETS ${ROCPROFILER_TARGET} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dev NAMELINK_ONLY )
|
||||
install ( TARGETS ${ROCPROFILER_TARGET} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime NAMELINK_SKIP )
|
||||
## Install headers
|
||||
install ( FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/inc/rocprofiler.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/core/activity.h
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${DEST_NAME} )
|
||||
# rpl_run.sh tblextr.py txt2xml.sh
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${DEST_NAME}
|
||||
COMPONENT dev )
|
||||
# rpl_run.sh
|
||||
install ( FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/rpl_run.sh
|
||||
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
RENAME rocprof )
|
||||
RENAME rocprof
|
||||
COMPONENT runtime )
|
||||
|
||||
install ( FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/txt2xml.sh
|
||||
@@ -152,16 +162,20 @@ install ( FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/mem_manager.py
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin/sqlitedb.py
|
||||
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/${DEST_NAME}
|
||||
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE )
|
||||
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
COMPONENT runtime )
|
||||
# gfx_metrics.xml metrics.xml
|
||||
install ( FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test/tool/metrics.xml
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/test/tool/gfx_metrics.xml
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${DEST_NAME} )
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/${DEST_NAME}
|
||||
COMPONENT runtime )
|
||||
# librocprof-tool.so
|
||||
install ( FILES ${PROJECT_BINARY_DIR}/test/librocprof-tool.so DESTINATION ${CMAKE_INSTALL_LIBDIR}/${DEST_NAME} )
|
||||
install ( FILES ${PROJECT_BINARY_DIR}/test/librocprof-tool.so DESTINATION ${CMAKE_INSTALL_LIBDIR}/${DEST_NAME}
|
||||
COMPONENT runtime )
|
||||
install ( FILES ${PROJECT_BINARY_DIR}/test/rocprof-ctrl DESTINATION ${CMAKE_INSTALL_LIBDIR}/${DEST_NAME}
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE )
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||
COMPONENT runtime )
|
||||
|
||||
# File reorg Backward compatibility
|
||||
option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" ON)
|
||||
@@ -172,7 +186,6 @@ endif()
|
||||
## Packaging directives
|
||||
set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" CACHE STRING "CPACK GENERATOR e.g. DEB;RPM" )
|
||||
set ( ENABLE_LDCONFIG ON CACHE BOOL "Set library links and caches using ldconfig.")
|
||||
set ( CPACK_PACKAGE_NAME "${ROCPROFILER_NAME}-dev" )
|
||||
set ( CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." )
|
||||
set ( CPACK_PACKAGE_VERSION_MAJOR ${BUILD_VERSION_MAJOR} )
|
||||
set ( CPACK_PACKAGE_VERSION_MINOR ${BUILD_VERSION_MINOR} )
|
||||
@@ -183,7 +196,7 @@ set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "ROCPROFILER library for AMD HSA runtime
|
||||
set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" )
|
||||
|
||||
# Install license file
|
||||
install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT runtime)
|
||||
|
||||
if ( DEFINED ENV{ROCM_LIBPATCH_VERSION} )
|
||||
set ( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}" )
|
||||
@@ -198,11 +211,15 @@ else()
|
||||
endif()
|
||||
message ( "Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}" )
|
||||
set ( CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT" )
|
||||
set ( CPACK_DEBIAN_PACKAGE_DEPENDS "hsa-rocr-dev, rocm-core" )
|
||||
|
||||
set ( CPACK_DEBIAN_RUNTIME_PACKAGE_NAME "${ROCPROFILER_NAME}" )
|
||||
set ( CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS "hsa-rocr-dev, rocm-core" )
|
||||
set ( CPACK_DEBIAN_DEV_PACKAGE_NAME "${ROCPROFILER_NAME}-dev" )
|
||||
set ( CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "${ROCPROFILER_NAME}, hsa-rocr-dev, rocm-core" )
|
||||
## Process the Debian install/remove scripts to update the CPACK variables
|
||||
configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst.in DEBIAN/postinst @ONLY )
|
||||
configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm.in DEBIAN/prerm @ONLY )
|
||||
set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "DEBIAN/postinst;DEBIAN/prerm" )
|
||||
set ( CPACK_DEBIAN_RUNTIME_PACKAGE_CONTROL_EXTRA "DEBIAN/postinst;DEBIAN/prerm" )
|
||||
|
||||
## RPM package specific variables
|
||||
if ( DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE} )
|
||||
@@ -225,17 +242,25 @@ if ( PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "" )
|
||||
string ( APPEND CPACK_RPM_PACKAGE_RELEASE "%{?dist}" )
|
||||
endif()
|
||||
set ( CPACK_RPM_FILE_NAME "RPM-DEFAULT" )
|
||||
set ( CPACK_RPM_PACKAGE_REQUIRES "hsa-rocr-dev, rocm-core" )
|
||||
|
||||
set ( CPACK_RPM_RUNTIME_PACKAGE_NAME "${ROCPROFILER_NAME}" )
|
||||
set ( CPACK_RPM_RUNTIME_PACKAGE_REQUIRES "hsa-rocr-devel, rocm-core" )
|
||||
set ( CPACK_RPM_DEV_PACKAGE_NAME "${ROCPROFILER_NAME}-devel" )
|
||||
set ( CPACK_RPM_DEV_PACKAGE_REQUIRES "${ROCPROFILER_NAME}, hsa-rocr-devel, rocm-core" )
|
||||
set ( CPACK_RPM_DEV_PACKAGE_PROVIDES "${ROCPROFILER_NAME}-dev" )
|
||||
set ( CPACK_RPM_DEV_PACKAGE_OBSOLETES "${ROCPROFILER_NAME}-dev" )
|
||||
## Process the Rpm install/remove scripts to update the CPACK variables
|
||||
configure_file ( "${CMAKE_CURRENT_SOURCE_DIR}/RPM/post.in" RPM/post @ONLY )
|
||||
configure_file ( "${CMAKE_CURRENT_SOURCE_DIR}/RPM/postun.in" RPM/postun @ONLY )
|
||||
|
||||
set ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/post" )
|
||||
set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/postun" )
|
||||
set ( CPACK_RPM_RUNTIME_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/post" )
|
||||
set ( CPACK_RPM_RUNTIME_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/postun" )
|
||||
# Remove dependency on rocm-core if -DROCM_DEP_ROCMCORE=ON not given to cmake
|
||||
if(NOT ROCM_DEP_ROCMCORE)
|
||||
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_PACKAGE_REQUIRES ${CPACK_RPM_PACKAGE_REQUIRES})
|
||||
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS})
|
||||
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_RUNTIME_PACKAGE_REQUIRES ${CPACK_RPM_RUNTIME_PACKAGE_REQUIRES})
|
||||
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_DEV_PACKAGE_REQUIRES ${CPACK_RPM_DEV_PACKAGE_REQUIRES})
|
||||
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS ${CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS})
|
||||
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_DEV_PACKAGE_DEPENDS ${CPACK_DEBIAN_DEV_PACKAGE_DEPENDS})
|
||||
endif()
|
||||
|
||||
include ( CPack )
|
||||
|
||||
@@ -152,11 +152,15 @@ endfunction()
|
||||
create_header_template()
|
||||
#Use template header file and generater wrapper header files
|
||||
generate_wrapper_header()
|
||||
install(DIRECTORY ${ROCPROF_WRAPPER_INC_DIR} DESTINATION ${ROCPROFILER_NAME})
|
||||
install(DIRECTORY ${ROCPROF_WRAPPER_INC_DIR} DESTINATION ${ROCPROFILER_NAME} COMPONENT dev)
|
||||
# Create symlink to binaries
|
||||
create_binary_symlink()
|
||||
install(DIRECTORY ${ROCPROF_WRAPPER_BIN_DIR} DESTINATION ${ROCPROFILER_NAME})
|
||||
install(DIRECTORY ${ROCPROF_WRAPPER_BIN_DIR} DESTINATION ${ROCPROFILER_NAME} COMPONENT runtime)
|
||||
create_library_symlink()
|
||||
install(DIRECTORY ${ROCPROF_WRAPPER_LIB_DIR} DESTINATION ${ROCPROFILER_NAME})
|
||||
install(DIRECTORY ${ROCPROF_WRAPPER_LIB_DIR} DESTINATION ${ROCPROFILER_NAME}
|
||||
COMPONENT runtime
|
||||
PATTERN ${ROCPROFILER_LIBRARY}.so EXCLUDE)
|
||||
install(FILES ${ROCPROF_WRAPPER_LIB_DIR}/${ROCPROFILER_LIBRARY}.so DESTINATION ${ROCPROFILER_NAME}/lib
|
||||
COMPONENT dev)
|
||||
#install tools directory
|
||||
install(DIRECTORY ${ROCPROF_WRAPPER_TOOL_DIR} DESTINATION ${ROCPROFILER_NAME})
|
||||
install(DIRECTORY ${ROCPROF_WRAPPER_TOOL_DIR} DESTINATION ${ROCPROFILER_NAME} COMPONENT runtime)
|
||||
|
||||
Reference in New Issue
Block a user