From 10a438406aeeac6d2d708e0125cd69e4492849d3 Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Fri, 12 Apr 2024 12:23:57 -0700 Subject: [PATCH] SWDEV-442738 - Static package generation for rocm_smi_lib Package name will have suffix static-dev/devel Change-Id: Ia273a66c663c56b023f6d765d024b30f1c35639d [ROCm/rocm_smi_lib commit: 9f7e69bd5e813e03026bb10e7e099b4886859f50] --- projects/rocm-smi-lib/CMakeLists.txt | 58 +++++++++++-------- projects/rocm-smi-lib/rocm_smi/CMakeLists.txt | 4 +- 2 files changed, 35 insertions(+), 27 deletions(-) diff --git a/projects/rocm-smi-lib/CMakeLists.txt b/projects/rocm-smi-lib/CMakeLists.txt index ad4ea6eafe..1d9fba4344 100755 --- a/projects/rocm-smi-lib/CMakeLists.txt +++ b/projects/rocm-smi-lib/CMakeLists.txt @@ -58,7 +58,7 @@ set(PKG_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}") set(PKG_VERSION_NUM_COMMIT 0) ## Define default variable and variables for the optional build target -## rocm_smi_lib-dev +## rocm_smi_lib set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE STRING "Default installation directory.") set(COMMON_SRC_ROOT ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "Location source code common root.") set(ROCM_SMI_PACKAGE rocm-smi-lib) @@ -184,26 +184,32 @@ endif() set(CPACK_DEB_COMPONENT_INSTALL ON) set(CPACK_RPM_COMPONENT_INSTALL ON) -#Component Specific Configuration/Flags -set(CPACK_DEBIAN_ASAN_PACKAGE_NAME ${ROCM_SMI_PACKAGE}-asan) -set(CPACK_DEBIAN_DEV_PACKAGE_NAME ${ROCM_SMI_PACKAGE}) -set(CPACK_DEBIAN_TESTS_PACKAGE_NAME ${ROCM_SMI_PACKAGE}-tests) -set(CPACK_RPM_ASAN_PACKAGE_NAME ${ROCM_SMI_PACKAGE}-asan) -set(CPACK_RPM_DEV_PACKAGE_NAME ${ROCM_SMI_PACKAGE}) -set(CPACK_RPM_TESTS_PACKAGE_NAME ${ROCM_SMI_PACKAGE}-tests) +set(CPACK_DEBIAN_PACKAGE_PROVIDES "${ROCM_SMI_PACKAGE}") +set(CPACK_DEBIAN_PACKAGE_DEPENDS "python3, rocm-core") +set(CPACK_RPM_PACKAGE_PROVIDES "${CPACK_DEBIAN_PACKAGE_PROVIDES}") +set(CPACK_RPM_PACKAGE_REQUIRES "${CPACK_DEBIAN_PACKAGE_DEPENDS}") -set (CPACK_DEBIAN_ASAN_PACKAGE_PROVIDES "${ROCM_SMI_PACKAGE}-asan") -set (CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS "python3, rocm-core-asan") -set (CPACK_DEBIAN_DEV_PACKAGE_PROVIDES "rocm-smi") -set (CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "python3, rocm-core") -set (CPACK_DEBIAN_TESTS_PACKAGE_PROVIDES "${ROCM_SMI_PACKAGE}-tests") -set (CPACK_DEBIAN_TESTS_PACKAGE_DEPENDS "python3, rocm-core") -set (CPACK_RPM_ASAN_PACKAGE_PROVIDES "${ROCM_SMI_PACKAGE}-asan") -set (CPACK_RPM_ASAN_PACKAGE_REQUIRES "python3, rocm-core-asan") -set (CPACK_RPM_DEV_PACKAGE_PROVIDES "rocm-smi") -set (CPACK_RPM_DEV_PACKAGE_REQUIRES "python3, rocm-core") -set (CPACK_RPM_TESTS_PACKAGE_PROVIDES "${ROCM_SMI_PACKAGE}-tests") -set (CPACK_RPM_TESTS_PACKAGE_REQUIRES "python3, rocm-core") +#Component Specific Configuration/Flags +set(CPACK_DEBIAN_DEV_PACKAGE_NAME ${ROCM_SMI_PACKAGE}) +set(CPACK_DEBIAN_ASAN_PACKAGE_NAME ${ROCM_SMI_PACKAGE}-asan) +set(CPACK_DEBIAN_TESTS_PACKAGE_NAME ${ROCM_SMI_PACKAGE}-tests) +set(CPACK_DEBIAN_STATIC_PACKAGE_NAME ${ROCM_SMI_PACKAGE}-static-dev) +set(CPACK_RPM_DEV_PACKAGE_NAME ${ROCM_SMI_PACKAGE}) +set(CPACK_RPM_ASAN_PACKAGE_NAME ${ROCM_SMI_PACKAGE}-asan) +set(CPACK_RPM_TESTS_PACKAGE_NAME ${ROCM_SMI_PACKAGE}-tests) +set(CPACK_RPM_STATIC_PACKAGE_NAME ${ROCM_SMI_PACKAGE}-static-devel) + +set(CPACK_DEBIAN_DEV_PACKAGE_PROVIDES "${CPACK_DEBIAN_DEV_PACKAGE_NAME}") +set(CPACK_DEBIAN_ASAN_PACKAGE_PROVIDES "${CPACK_DEBIAN_ASAN_PACKAGE_NAME}") +set(CPACK_DEBIAN_TESTS_PACKAGE_PROVIDES "${CPACK_DEBIAN_TESTS_PACKAGE_NAME}") +set(CPACK_DEBIAN_STATIC_PACKAGE_PROVIDES "${CPACK_DEBIAN_STATIC_PACKAGE_NAME}") +set(CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}-asan") + +set(CPACK_RPM_DEV_PACKAGE_PROVIDES "${CPACK_RPM_DEV_PACKAGE_NAME}") +set(CPACK_RPM_ASAN_PACKAGE_PROVIDES "${CPACK_RPM_ASAN_PACKAGE_NAME}") +set(CPACK_RPM_TESTS_PACKAGE_PROVIDES "${CPACK_RPM_TESTS_PACKAGE_NAME}") +set(CPACK_RPM_STATIC_PACKAGE_PROVIDES "${CPACK_RPM_STATIC_PACKAGE_NAME}") +set(CPACK_RPM_ASAN_PACKAGE_REQUIRES "${CPACK_RPM_PACKAGE_REQUIRES}-asan") add_subdirectory("rocm_smi") @@ -320,9 +326,7 @@ if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) else() set(CPACK_DEBIAN_PACKAGE_RELEASE "local") endif() -set (CPACK_DEBIAN_PACKAGE_PROVIDES "rocm-smi") -set (CPACK_DEBIAN_PACKAGE_DEPENDS "python3, rocm-core") -set (CPACK_DEBIAN_PACKAGE_SUGGESTS "sudo") +set(CPACK_DEBIAN_PACKAGE_SUGGESTS "sudo") ## Process the Debian install/remove scripts to update the CPACK variables configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst.in DEBIAN/postinst @ONLY ) @@ -340,8 +344,6 @@ endif() if(CPACK_RPM_PACKAGE_RELEASE) set(CPACK_RPM_PACKAGE_RELEASE_DIST ON) endif() -set (CPACK_RPM_PACKAGE_PROVIDES "rocm-smi") -set (CPACK_RPM_PACKAGE_REQUIRES "python3, rocm-core") # The line below doesn't currently work; it may be this issue: @@ -368,6 +370,8 @@ if(NOT ROCM_DEP_ROCMCORE) string(REGEX REPLACE ",? ?rocm-core-asan" "" CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS}) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_DEV_PACKAGE_REQUIRES ${CPACK_RPM_DEV_PACKAGE_REQUIRES}) string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_DEV_PACKAGE_DEPENDS ${CPACK_DEBIAN_DEV_PACKAGE_DEPENDS}) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_STATIC_PACKAGE_REQUIRES ${CPACK_RPM_STATIC_PACKAGE_REQUIRES}) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_STATIC_PACKAGE_DEPENDS ${CPACK_DEBIAN_STATIC_PACKAGE_DEPENDS}) 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}) endif() @@ -388,3 +392,7 @@ cpack_add_component( cpack_add_component_group("tests") cpack_add_component(tests GROUP tests) +if(NOT BUILD_SHARED_LIBS) + cpack_add_component_group("static") + cpack_add_component(dev GROUP static) +endif() diff --git a/projects/rocm-smi-lib/rocm_smi/CMakeLists.txt b/projects/rocm-smi-lib/rocm_smi/CMakeLists.txt index 012ce9a2c0..523771e579 100755 --- a/projects/rocm-smi-lib/rocm_smi/CMakeLists.txt +++ b/projects/rocm-smi-lib/rocm_smi/CMakeLists.txt @@ -124,8 +124,8 @@ add_custom_target(link-rocm-smi ALL ## Add the install directives for the runtime library. install(TARGETS ${ROCM_SMI_TARGET} EXPORT rocm_smiTargets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT dev) + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dev + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT dev) install(TARGETS ${ROCM_SMI_TARGET} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT asan)