Enable cmake module config/target for rocm-core

Change-Id: Icbdd6d1e0e9a865dc86b6568bf0b7f7ff35b3b5c


[ROCm/rocm-core commit: eedf4c1410]
此提交包含在:
AravindanC
2024-09-17 10:16:24 -07:00
提交者 Nirmal Unnikrishnan
父節點 638759087c
當前提交 eba54673e6
共有 2 個檔案被更改,包括 62 行新增1 行删除
+44 -1
查看文件
@@ -32,6 +32,9 @@ project( ${CORE_TARGET} CXX )
## Define Lib Target Name and Lib Target Install Dir to be available to c++ source
add_definitions( -DTARGET_LIBRARY_NAME=\"${CORE_TARGET}\" -DTARGET_LIBRARY_INSTALL_DIR=\"${CMAKE_INSTALL_LIBDIR}\" )
## Build Type Settings
set( CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." )
## Verbose output.
set( CMAKE_VERBOSE_MAKEFILE on )
@@ -136,7 +139,7 @@ if(BUILD_SHARED_LIBS)
# Target Library needs to installed/packaged to same destination
# in both ASAN and nonASAN Shared library builds
install ( TARGETS ${CORE_TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR}
install ( TARGETS ${CORE_TARGET} EXPORT rocmCoreTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT ${COMP_TYPE} )
install ( FILES ${BUILD_DIR}/rocm_version.h ${BUILD_DIR}/rocm_getpath.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/rocm-core
@@ -161,6 +164,7 @@ else()
DESTINATION .info
COMPONENT ${STATIC_COMP_TYPE} )
install ( TARGETS ${CORE_TARGET}
EXPORT rocmCoreTargets
DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT ${STATIC_COMP_TYPE} )
@@ -180,6 +184,45 @@ else()
COMPONENT ${STATIC_COMP_TYPE})
endif()
## Cmake module config file configurations
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/" CACHE INTERNAL "Default module path.")
## Export the package for use from the build-tree
## (this registers the build-tree with a global CMake-registry)
export(PACKAGE ${CORE_TARGET})
set(CONF_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
## Create the rocm-core-config.cmake and rocm-core-config-version files
include(CMakePackageConfigHelpers)
set(CONFIG_PACKAGE_INSTALL_DIR ${CONF_LIB_DIR}/cmake/${CORE_TARGET})
set(LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}")
set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}")
set(BIN_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}")
## Generate Config File for rocm-core
configure_package_config_file(
${CMAKE_MODULE_PATH}/${CORE_TARGET}-config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/${CORE_TARGET}-config.cmake
INSTALL_DESTINATION ${CONFIG_PACKAGE_INSTALL_DIR}
PATH_VARS LIB_INSTALL_DIR INCLUDE_INSTALL_DIR BIN_INSTALL_DIR
)
## Generate config Version File for rocm-core
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/${CORE_TARGET}-config-version.cmake
VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
COMPATIBILITY SameMajorVersion)
## Install the rocm-core-config.cmake and rocm-core-config-version.cmake
install(FILES
"${PROJECT_BINARY_DIR}/${CORE_TARGET}-config.cmake"
"${PROJECT_BINARY_DIR}/${CORE_TARGET}-config-version.cmake"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${CORE_TARGET}"
COMPONENT ${COMP_TYPE})
## Install the export set for use with the install-tree
install(EXPORT rocmCoreTargets DESTINATION
"${CMAKE_INSTALL_LIBDIR}/cmake/${CORE_TARGET}" COMPONENT ${COMP_TYPE})
## Packaging directives
set ( CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." )
+18
查看文件
@@ -0,0 +1,18 @@
# - Config file for the rocm-core package
# It defines the following variables
# ROCM_CORE_INCLUDE_DIR - include directories for rocm-core
# ROCM_CORE_LIB_DIR - libraries to link against
# ROCM_PATH - Install Base Location for ROCM.
@PACKAGE_INIT@
# Compute paths
set_and_check(rocm_core_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
set_and_check(ROCM_CORE_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
set_and_check(rocm_core_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@")
set_and_check(ROCM_CORE_LIB_DIR "@PACKAGE_LIB_INSTALL_DIR@")
set_and_check(ROCM_PATH "${PACKAGE_PREFIX_DIR}")
get_filename_component(ROCM_CORE_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
include("${ROCM_CORE_CMAKE_DIR}/rocmCoreTargets.cmake")