From 676e600040a978e01f02673a87e80448e19cfdca Mon Sep 17 00:00:00 2001 From: Sean Keely Date: Fri, 22 May 2020 16:50:45 -0500 Subject: [PATCH] Update to conform with modern cmake best practices. Immediate benefit is that this enables cmake native find_package support including transitive passthrough of link dependencies, options, and include paths. It does require a bump to cmake 3.6 to enable proper package file names. Change-Id: I3f4e2f2db745c04a7f686111b080098a0d92fbf5 Signed-off-by: Sean Keely [ROCm/ROCR-Runtime commit: 06add334b9aa2e200dc1478c5835200798dcb2c1] --- projects/rocr-runtime/CMakeLists.txt | 152 +++++++++++++------ projects/rocr-runtime/hsakmt-config.cmake.in | 14 +- projects/rocr-runtime/hsakmt-dev.txt | 102 ------------- 3 files changed, 114 insertions(+), 154 deletions(-) delete mode 100644 projects/rocr-runtime/hsakmt-dev.txt diff --git a/projects/rocr-runtime/CMakeLists.txt b/projects/rocr-runtime/CMakeLists.txt index f24a2bb3e6..cced60f616 100644 --- a/projects/rocr-runtime/CMakeLists.txt +++ b/projects/rocr-runtime/CMakeLists.txt @@ -79,9 +79,6 @@ if ( DEFINED VERSION_BUILD AND NOT ${VERSION_BUILD} STREQUAL "" ) endif () set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" ) -## Verbose output. -#set ( CMAKE_VERBOSE_MAKEFILE on ) - ## Compiler flags set (HSAKMT_C_FLAGS -fPIC -W -Wall -Wextra -Wno-unused-parameter -Wformat-security -Wswitch-default -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wunreachable-code -std=gnu99 -fvisibility=hidden) if ( CMAKE_COMPILER_IS_GNUCC ) @@ -120,12 +117,21 @@ set ( HSAKMT_SRC "src/debug.c" "src/spm.c" "src/version.c") -## Include paths -include_directories ( ${CMAKE_CURRENT_SOURCE_DIR}/include ) -include_directories ( ${CMAKE_CURRENT_SOURCE_DIR}/src ) +## Declare the library target name +add_library ( ${HSAKMT_TARGET} "") + +## Add sources +target_sources ( ${HSAKMT_TARGET} PRIVATE ${HSAKMT_SRC} ) + +## Add headers. The public headers need to point at their location in both build and install +## directory layouts. This declaration allows publishing library use data to downstream clients. +target_include_directories( ${HSAKMT_TARGET} + PUBLIC + $ + $ + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/src ) -## Add the library -add_library ( ${HSAKMT_TARGET} ${HSAKMT_SRC} ) target_compile_options(${HSAKMT_TARGET} PRIVATE ${HSAKMT_C_FLAGS}) set_property(TARGET ${HSAKMT_TARGET} PROPERTY LINK_FLAGS ${HSAKMT_LINK_FLAGS}) @@ -133,51 +139,91 @@ set_property(TARGET ${HSAKMT_TARGET} PROPERTY LINK_FLAGS ${HSAKMT_LINK_FLAGS}) set_property ( TARGET ${HSAKMT_TARGET} PROPERTY VERSION "${LIB_VERSION_STRING}" ) set_property ( TARGET ${HSAKMT_TARGET} PROPERTY SOVERSION "${LIB_VERSION_MAJOR}" ) -find_package(PkgConfig) +#find_package(PkgConfig) target_link_libraries ( ${HSAKMT_TARGET} - pthread rt numa + PRIVATE pthread rt numa ) -## Define default variable and variables for the optional build target hsakmt-dev -set ( SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "Location of hsakmt source code." ) -set ( CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE STRING "Default installation directory." ) +## Define default paths and packages. +if( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT ) + set ( CMAKE_INSTALL_PREFIX "/opt/rocm" ) +endif() +set ( CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE STRING "Default installation directory." FORCE ) set ( CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE STRING "Default packaging prefix." ) set ( CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators." ) -## Specify build, install and package targets hsakmt-dev -set ( DEV_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/hsakmt-roct-dev ) -configure_file ( hsakmt-dev.txt ${DEV_BUILD_DIR}/CMakeLists.txt @ONLY ) -add_custom_target ( build-dev - COMMAND ${CMAKE_COMMAND} - -DSOURCE_DIR="${SOURCE_DIR}" - -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} ) +# Installs binaries and exports the library usage data to ${HSAKMT_TARGET}Targets +install ( TARGETS ${HSAKMT_TARGET} EXPORT ${HSAKMT_TARGET}Targets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary ) -## Custom targets for the devel package -add_custom_target ( install-dev DEPENDS build-dev COMMAND make install WORKING_DIRECTORY ${DEV_BUILD_DIR} ) -add_custom_target ( package-dev DEPENDS build-dev - COMMAND rm -rf *.deb *.rpm *.tar.gz - COMMAND make package - WORKING_DIRECTORY ${DEV_BUILD_DIR} ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary ) -## Add the install directives for the runtime library. -install ( TARGETS ${HSAKMT_TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -install ( FILES ${SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR} ) +# Install public headers +install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + COMPONENT devel PATTERN "linux" EXCLUDE ) + +# Record our usage data for clients find_package calls. +install ( EXPORT ${HSAKMT_TARGET}Targets + FILE ${HSAKMT_TARGET}Targets.cmake + NAMESPACE ${HSAKMT_TARGET}:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HSAKMT_TARGET} + COMPONENT devel) + +# Adds the target alias hsakmt::hsakmt to the local cmake cache. +# This isn't necessary today. It's harmless preparation for some +# hypothetical future in which the we might be included by add_subdirectory() +# in some other project's cmake file. It allows uniform use of find_package +# and target_link_library() without regard to whether a target is external or +# a subdirectory of the current build. +add_library( ${HSAKMT_TARGET}::${HSAKMT_TARGET} ALIAS ${HSAKMT_TARGET} ) + +# Create cmake configuration files +include(CMakePackageConfigHelpers) + +configure_package_config_file(${HSAKMT_TARGET}-config.cmake.in + ${HSAKMT_TARGET}-config.cmake + INSTALL_DESTINATION + ${CMAKE_INSTALL_LIBDIR}/cmake/${HSAKMT_TARGET} ) + +write_basic_package_version_file(${HSAKMT_TARGET}-config-version.cmake + VERSION ${BUILD_VERSION_STRING} + COMPATIBILITY + AnyNewerVersion) + +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/${HSAKMT_TARGET}-config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${HSAKMT_TARGET}-config-version.cmake + DESTINATION + ${CMAKE_INSTALL_LIBDIR}/cmake/${HSAKMT_TARGET} + COMPONENT devel) + +# CPACK_PACKAGING_INSTALL_PREFIX is needed in libhsakmt.pc.in +# TODO: Add support for relocatable packages. +configure_file ( libhsakmt.pc.in libhsakmt.pc @ONLY ) + +install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/libhsakmt.pc DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig COMPONENT devel) + +# Use component packaging +set ( CPACK_COMPONENTS_GROUPING IGNORE ) +set ( CPACK_COMPONENTS_ALL binary devel ) +set ( CPACK_DEB_COMPONENT_INSTALL ON ) +set ( CPACK_RPM_COMPONENT_INSTALL ON ) ## Add the packaging directives for the runtime library. -set ( CPACK_PACKAGE_NAME ${HSAKMT_PACKAGE} ) set ( CPACK_PACKAGE_VENDOR "AMD" ) set ( CPACK_PACKAGE_VERSION_MAJOR ${BUILD_VERSION_MAJOR} ) set ( CPACK_PACKAGE_VERSION_MINOR ${BUILD_VERSION_MINOR} ) set ( CPACK_PACKAGE_VERSION_PATCH ${BUILD_VERSION_PATCH} ) set ( CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc." ) -set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "HSAKMT library for AMD KFD support" ) -set ( CPACK_RESOURCE_FILE_LICENSE "${SOURCE_DIR}/LICENSE.md" ) -set ( CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.x86_64" ) +set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md" ) + +## Component packaging, BINARY +set ( CPACK_COMPONENT_BINARY_DESCRIPTION "HSAKMT library for AMD KFD support" ) +set ( CPACK_DEBIAN_BINARY_PACKAGE_NAME ${HSAKMT_PACKAGE} ) +set ( CPACK_DEBIAN_BINARY_FILE_NAME "${CPACK_DEBIAN_BINARY_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.x86_64.deb" ) +set ( CPACK_RPM_BINARY_PACKAGE_NAME ${HSAKMT_PACKAGE} ) +set ( CPACK_RPM_BINARY_FILE_NAME "${CPACK_RPM_BINARY_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.x86_64.rpm" ) #checking for OS-version if( EXISTS "/etc/os-release" ) @@ -199,21 +245,33 @@ endif() # Debian package specific variables set ( CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface" ) -set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm" ) -set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libnuma1, zlib1g, libudev1" ) +set ( CPACK_DEBIAN_BINARY_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm" ) +set ( CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS "libc6, libnuma1, zlib1g, libudev1" ) # RPM package specific variables if( DISTRO_ID MATCHES "sles" ) - set ( CPACK_RPM_PACKAGE_REQUIRES "glibc, libnuma-devel, libgcc_s1") + set ( CPACK_RPM_BINARY_PACKAGE_REQUIRES "glibc, libnuma-devel, libgcc_s1") elseif( DISTRO_ID MATCHES "centos" AND DISTRO_RELEASE MATCHES "6" ) - set ( CPACK_RPM_PACKAGE_REQUIRES "glibc, numactl, libgcc" ) + set ( CPACK_RPM_BINARY_PACKAGE_REQUIRES "glibc, numactl, libgcc" ) else() - set ( CPACK_RPM_PACKAGE_REQUIRES "glibc, numactl-libs, libgcc" ) + set ( CPACK_RPM_BINARY_PACKAGE_REQUIRES "glibc, numactl-libs, libgcc" ) endif() -set ( CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" ) -set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun" ) +set ( CPACK_RPM_BINARY_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" ) +set ( CPACK_RPM_BINARY_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun" ) -# CPACK_PACKAGING_INSTALL_PREFIX is needed in libhsakmt.pc.in -configure_file ( libhsakmt.pc.in ${DEV_BUILD_DIR}/libhsakmt.pc @ONLY ) +## Component packaging, DEVEL +set ( CPACK_COMPONENT_DEVEL_DESCRIPTION "HSAKMT development package." ) + +# Debian package specific variables +set ( CPACK_DEBIAN_DEVEL_PACKAGE_NAME "hsakmt-roct-dev" ) +set ( CPACK_DEBIAN_DEVEL_FILE_NAME "${CPACK_DEBIAN_DEVEL_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.x86_64.deb" ) +set ( CPACK_DEBIAN_DEVEL_PACKAGE_DEPENDS "${HSAKMT_PACKAGE} (=${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH})" ) + +# RPM package specific variables +set ( CPACK_RPM_DEVEL_PACKAGE_NAME "hsakmt-roct-devel" ) +set ( CPACK_RPM_DEVEL_FILE_NAME "${CPACK_RPM_DEVEL_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.x86_64.rpm" ) +set ( CPACK_RPM_DEVEL_PACKAGE_DEPENDS "${HSAKMT_PACKAGE} = ${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" ) +# Since we changed the package name to match RPM specs, take care of older builds that had -dev installed +set ( CPACK_RPM_DEVEL_PACKAGE_OBSOLETES "hsakmt-roct-dev" ) include ( CPack ) diff --git a/projects/rocr-runtime/hsakmt-config.cmake.in b/projects/rocr-runtime/hsakmt-config.cmake.in index 91f73898b5..9b162dae71 100644 --- a/projects/rocr-runtime/hsakmt-config.cmake.in +++ b/projects/rocr-runtime/hsakmt-config.cmake.in @@ -1,9 +1,13 @@ @PACKAGE_INIT@ -set_and_check(HSAKMT_INCLUDE_DIR @PACKAGE_INCLUDE_INSTALL_DIR@) -set_and_check(HSAKMT_LIB_DIR @PACKAGE_LIB_INSTALL_DIR@) +include( CMakeFindDependencyMacro ) -set(HSAKMT_LIBRARY @PACKAGE_LIB_INSTALL_DIR@/@HSAKMT_LIBRARY_NAME@) -set(HSAKMT_LIBRARIES @PACKAGE_LIB_INSTALL_DIR@/@HSAKMT_LIBRARY_NAME@) +# Locate dependent packages here. Finding them propagates usage requirements, +# if any, to our clients and ensures that their target names are in scope for +# the build. hsakmt has no cmake project dependencies so there is nothing to +# find. If we switch to use find_package with external (to ROCm) library +# dependencies (ie libnuma) then those packages should be located here using +# find_dependencies as shown below. +#find_dependency(Bar, 2.0) -mark_as_advanced(HSAKMT_LIBRARY HSAKMT_INCLUDE_DIR) +include( "${CMAKE_CURRENT_LIST_DIR}/@HSAKMT_TARGET@Targets.cmake" ) diff --git a/projects/rocr-runtime/hsakmt-dev.txt b/projects/rocr-runtime/hsakmt-dev.txt deleted file mode 100644 index e22db6d836..0000000000 --- a/projects/rocr-runtime/hsakmt-dev.txt +++ /dev/null @@ -1,102 +0,0 @@ -################################################################################ -## -## Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved. -## -## MIT LICENSE: -## Permission is hereby granted, free of charge, to any person obtaining a copy of -## this software and associated documentation files (the "Software"), to deal in -## the Software without restriction, including without limitation the rights to -## use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -## of the Software, and to permit persons to whom the Software is furnished to do -## so, subject to the following conditions: -## -## The above copyright notice and this permission notice shall be included in all -## copies or substantial portions of the Software. -## -## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -## SOFTWARE. -## -################################################################################ - -cmake_minimum_required ( VERSION 3.5.0 ) - -set ( HSAKMT_DEV_PACKAGE "hsakmt-roct-dev" ) - -project ( ${HSAKMT_DEV_PACKAGE} ) - -include ( GNUInstallDirs ) - -## Set the runtime package name. -set ( HSAKMT_PACKAGE @HSAKMT_PACKAGE@ ) - -## Setup the package version. -set ( BUILD_VERSION_MAJOR @BUILD_VERSION_MAJOR@ ) -set ( BUILD_VERSION_MINOR @BUILD_VERSION_MINOR@ ) -set ( BUILD_VERSION_PATCH @BUILD_VERSION_PATCH@ ) - -## Verbose output. -set ( CMAKE_VERBOSE_MAKEFILE on ) - -## Set the install targets -install ( FILES libhsakmt.pc DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig ) -install ( DIRECTORY ${SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${HSAKMT_COMPONENT} PATTERN "linux" EXCLUDE ) - - -## Set the default generator types for the devel package. -set ( CPACK_GENERATOR "DEB;RPM;TGZ" CACHE STRING "Default packaging generators." ) - -## Packaging directives -set ( CPACK_DEBIAN_PACKAGE_NAME "hsakmt-roct-dev" ) -set ( CPACK_RPM_PACKAGE_NAME "hsakmt-roct-devel" ) -set ( CPACK_PACKAGE_VENDOR "AMD" ) -set ( CPACK_PACKAGE_VERSION_MAJOR ${BUILD_VERSION_MAJOR} ) -set ( CPACK_PACKAGE_VERSION_MINOR ${BUILD_VERSION_MINOR} ) -set ( CPACK_PACKAGE_VERSION_PATCH ${BUILD_VERSION_PATCH} ) -set ( CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc." ) -set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "HSAKMT development package." ) -set ( CPACK_RESOURCE_FILE_LICENSE "${SOURCE_DIR}/LICENSE.md" ) -set ( CPACK_DEBIAN_FILE_NAME "${CPACK_DEBIAN_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.x86_64.deb" ) -set ( CPACK_RPM_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.x86_64.rpm" ) -# Debian package specific variables -set ( CPACK_DEBIAN_PACKAGE_DEPENDS "${HSAKMT_PACKAGE} (=${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH})" ) -set ( CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface" ) - -# RPM package specific variables -set ( CPACK_RPM_PACKAGE_DEPENDS "${HSAKMT_PACKAGE} = ${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" ) -# Since we changed the package name to match RPM specs, take care of older builds that had -dev installed -set ( CPACK_RPM_PACKAGE_OBSOLETES "hsakmt-roct-dev" ) - -# 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 )