cmake: Create cmake config file
Another cmake project like hsa-runtime could just use: find_package(hsakmt REQUIRED 1.9.0) Change-Id: Ia1c9a80ef287facdd607382d69649b0718d687b4
This commit is contained in:
committed by
Kent Russell
orang tua
006c2c248d
melakukan
b8a1331763
+3
-1
@@ -30,7 +30,7 @@ set ( HSAKMT_PACKAGE "hsakmt-roct" )
|
||||
set ( HSAKMT_COMPONENT "lib${HSAKMT}" )
|
||||
set ( HSAKMT_TARGET "${HSAKMT}" )
|
||||
|
||||
project ( ${HSAKMT_TARGET} )
|
||||
project ( ${HSAKMT_TARGET} VERSION 1.9.0)
|
||||
|
||||
## Set default module path if not already set
|
||||
if ( NOT DEFINED CMAKE_MODULE_PATH )
|
||||
@@ -133,6 +133,8 @@ add_custom_target ( build-dev
|
||||
-DCMAKE_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}"
|
||||
-DCPACK_RPM_PACKAGE_REQUIRES="hsakmt-roct"
|
||||
-DCPACK_PACKAGING_INSTALL_PREFIX="${CPACK_PACKAGING_INSTALL_PREFIX}"
|
||||
-DVERSION="${BUILD_VERSION_STRING}"
|
||||
-DHSAKMT_BIN_NAME="${HSAKMT}"
|
||||
WORKING_DIRECTORY ${DEV_BUILD_DIR} )
|
||||
|
||||
## Custom targets for the devel package
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
@PACKAGE_INIT@
|
||||
|
||||
set_and_check(HSAKMT_INCLUDE_DIR @PACKAGE_INCLUDE_INSTALL_DIR@)
|
||||
set_and_check(HSAKMT_LIB_DIR @PACKAGE_LIB_INSTALL_DIR@)
|
||||
|
||||
set(HSAKMT_LIBRARY @PACKAGE_LIB_INSTALL_DIR@/@HSAKMT_LIBRARY_NAME@)
|
||||
set(HSAKMT_LIBRARIES @PACKAGE_LIB_INSTALL_DIR@/@HSAKMT_LIBRARY_NAME@)
|
||||
|
||||
mark_as_advanced(HSAKMT_LIBRARY HSAKMT_INCLUDE_DIR)
|
||||
@@ -67,4 +67,32 @@ set ( CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/RadeonOpenCompute/ROCT-T
|
||||
# RPM package specific variables
|
||||
set ( CPACK_RPM_PACKAGE_DEPENDS "${HSAKMT_PACKAGE} = ${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
|
||||
# Create cmake configuration files
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
set(HSAKMT_LIBRARY_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}${PROJECT_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
|
||||
set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} CACHE INTERNAL "")
|
||||
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR} CACHE INTERNAL "")
|
||||
|
||||
configure_package_config_file(${SOURCE_DIR}/${HSAKMT_BIN_NAME}-config.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${HSAKMT_BIN_NAME}-config.cmake
|
||||
PATH_VARS
|
||||
INCLUDE_INSTALL_DIR LIB_INSTALL_DIR
|
||||
INSTALL_DESTINATION
|
||||
${CMAKE_INSTALL_LIBDIR}/cmake/${HSAKMT_BIN_NAME})
|
||||
|
||||
write_basic_package_version_file(${HSAKMT_BIN_NAME}-config-version.cmake
|
||||
VERSION ${VERSION}
|
||||
COMPATIBILITY
|
||||
AnyNewerVersion)
|
||||
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${HSAKMT_BIN_NAME}-config.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${HSAKMT_BIN_NAME}-config-version.cmake
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_LIBDIR}/cmake/${HSAKMT_BIN_NAME}
|
||||
COMPONENT
|
||||
devel)
|
||||
|
||||
include ( CPack )
|
||||
|
||||
Reference in New Issue
Block a user