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:
Andreas Schneider
2018-09-25 19:16:43 +02:00
committed by Kent Russell
orang tua 006c2c248d
melakukan b8a1331763
3 mengubah file dengan 40 tambahan dan 1 penghapusan
+3 -1
Melihat File
@@ -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
+9
Melihat File
@@ -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)
+28
Melihat File
@@ -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 )