|
|
|
@@ -0,0 +1,151 @@
|
|
|
|
|
################################################################################
|
|
|
|
|
##
|
|
|
|
|
## The University of Illinois/NCSA
|
|
|
|
|
## Open Source License (NCSA)
|
|
|
|
|
##
|
|
|
|
|
## Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved.
|
|
|
|
|
##
|
|
|
|
|
## Developed by:
|
|
|
|
|
##
|
|
|
|
|
## AMD Research and AMD HSA Software Development
|
|
|
|
|
##
|
|
|
|
|
## Advanced Micro Devices, Inc.
|
|
|
|
|
##
|
|
|
|
|
## www.amd.com
|
|
|
|
|
##
|
|
|
|
|
## Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
|
## of this software and associated documentation files (the "Software"), to
|
|
|
|
|
## deal with 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:
|
|
|
|
|
##
|
|
|
|
|
## - Redistributions of source code must retain the above copyright notice,
|
|
|
|
|
## this list of conditions and the following disclaimers.
|
|
|
|
|
## - Redistributions in binary form must reproduce the above copyright
|
|
|
|
|
## notice, this list of conditions and the following disclaimers in
|
|
|
|
|
## the documentation and#or other materials provided with the distribution.
|
|
|
|
|
## - Neither the names of Advanced Micro Devices, Inc,
|
|
|
|
|
## nor the names of its contributors may be used to endorse or promote
|
|
|
|
|
## products derived from this Software without specific prior written
|
|
|
|
|
## permission.
|
|
|
|
|
##
|
|
|
|
|
## 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 CONTRIBUTORS 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 WITH THE SOFTWARE.
|
|
|
|
|
##
|
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
|
|
cmake_minimum_required(VERSION 2.8)
|
|
|
|
|
|
|
|
|
|
set ( PROJECT_STRING hsa-ext-rocr-dev )
|
|
|
|
|
|
|
|
|
|
project( ${PROJECT_STRING} )
|
|
|
|
|
|
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${HSA_OPENSOURCE_ROOT}/cmake_modules")
|
|
|
|
|
|
|
|
|
|
include ( utils )
|
|
|
|
|
|
|
|
|
|
if(NOT DEFINED VERSION_STRING)
|
|
|
|
|
set (VERSION_STRING "1.0.0")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
parse_version(${VERSION_STRING})
|
|
|
|
|
|
|
|
|
|
set ( EXTERNAL_DIR ${CMAKE_CURRENT_BINARY_DIR} )
|
|
|
|
|
|
|
|
|
|
set ( PACKAGE_DIRECTORIES
|
|
|
|
|
"bin"
|
|
|
|
|
"hsa/bin"
|
|
|
|
|
"hsa/lib")
|
|
|
|
|
|
|
|
|
|
add_custom_command(OUTPUT ${PACKAGE_DIRECTORIES} WORKING_DIRECTORY ${EXTERNAL_DIR}
|
|
|
|
|
COMMAND mkdir -p bin
|
|
|
|
|
COMMAND mkdir -p hsa/lib
|
|
|
|
|
COMMAND mkdir -p hsa/bin )
|
|
|
|
|
|
|
|
|
|
add_custom_target (create_dirs DEPENDS ${PACKAGE_DIRECTORIES} )
|
|
|
|
|
|
|
|
|
|
set ( FINALIZER_NAME "libhsa-ext-finalize64" )
|
|
|
|
|
set ( TOOLS_NAME "libhsa-runtime-tools64" )
|
|
|
|
|
set ( AMDHSACOD_NAME "amdhsacod" )
|
|
|
|
|
set ( AMDHSAFIN_NAME "amdhsafin" )
|
|
|
|
|
|
|
|
|
|
set ( FINALIZER_LIBRARY_SOURCE "${OUT_DIR}/lib/${FINALIZER_NAME}.so.1" )
|
|
|
|
|
set ( TOOLS_LIBRARY_SOURCE "${OUT_DIR}/lib/${TOOLS_NAME}.so.${VERSION_STRING}" )
|
|
|
|
|
set ( AMDHSACOD_SOURCE "${OUT_DIR}/bin/${AMDHSACOD_NAME}" )
|
|
|
|
|
set ( AMDHSAFIN_SOURCE "${OUT_DIR}/bin/${AMDHSAFIN_NAME}" )
|
|
|
|
|
|
|
|
|
|
set ( FINALIZER_LIBRARY_TARGET "${EXTERNAL_DIR}/hsa/lib/${FINALIZER_NAME}.so.${VERSION_STRING}" )
|
|
|
|
|
set ( TOOLS_LIBRARY_TARGET "${EXTERNAL_DIR}/hsa/lib/${TOOLS_NAME}.so.${VERSION_STRING}" )
|
|
|
|
|
set ( AMDHSACOD_TARGET "${EXTERNAL_DIR}/hsa/bin/${AMDHSACOD_NAME}" )
|
|
|
|
|
set ( AMDHSAFIN_TARGET "${EXTERNAL_DIR}/hsa/bin/${AMDHSAFIN_NAME}" )
|
|
|
|
|
|
|
|
|
|
set ( FINALIZER_LIBRARY_SONAME "${EXTERNAL_DIR}/hsa/lib/${FINALIZER_NAME}.so.1" )
|
|
|
|
|
set ( TOOLS_LIBRARY_SONAME "${EXTERNAL_DIR}/hsa/lib/${TOOLS_NAME}.so.1" )
|
|
|
|
|
set ( AMDHSACOD_LINK "${EXTERNAL_DIR}/bin/${AMDHSACOD_NAME}" )
|
|
|
|
|
set ( AMDHSAFIN_LINK "${EXTERNAL_DIR}/bin/${AMDHSAFIN_NAME}" )
|
|
|
|
|
|
|
|
|
|
add_custom_command(OUTPUT ${FINALIZER_LIBRARY_TARGET} WORKING_DIRECTORY ${EXTERNAL_DIR}
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${FINALIZER_LIBRARY_SOURCE} ${FINALIZER_LIBRARY_TARGET})
|
|
|
|
|
|
|
|
|
|
add_custom_command(OUTPUT ${TOOLS_LIBRARY_TARGET} WORKING_DIRECTORY ${EXTERNAL_DIR}
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${TOOLS_LIBRARY_SOURCE} ${TOOLS_LIBRARY_TARGET})
|
|
|
|
|
|
|
|
|
|
add_custom_command(OUTPUT ${AMDHSACOD_TARGET} WORKING_DIRECTORY ${EXTERNAL_DIR}
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${AMDHSACOD_SOURCE} ${AMDHSACOD_TARGET})
|
|
|
|
|
|
|
|
|
|
add_custom_command(OUTPUT ${AMDHSAFIN_TARGET} WORKING_DIRECTORY ${EXTERNAL_DIR}
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${AMDHSAFIN_SOURCE} ${AMDHSAFIN_TARGET})
|
|
|
|
|
|
|
|
|
|
add_custom_command(OUTPUT ${FINALIZER_LIBRARY_SONAME} WORKING_DIRECTORY ${EXTERNAL_DIR}/hsa/lib
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E create_symlink ${FINALIZER_NAME}.so.${VERSION_STRING} ${FINALIZER_NAME}.so.1 )
|
|
|
|
|
|
|
|
|
|
add_custom_command(OUTPUT ${TOOLS_LIBRARY_SONAME} WORKING_DIRECTORY ${EXTERNAL_DIR}/hsa/lib
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E create_symlink ${TOOLS_NAME}.so.${VERSION_STRING} ${TOOLS_NAME}.so.1 )
|
|
|
|
|
|
|
|
|
|
add_custom_command(OUTPUT ${AMDHSACOD_LINK} WORKING_DIRECTORY ${EXTERNAL_DIR}/bin
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E create_symlink ../hsa/bin/${AMDHSACOD_NAME} ${AMDHSACOD_NAME} )
|
|
|
|
|
|
|
|
|
|
add_custom_command(OUTPUT ${AMDHSAFIN_LINK} WORKING_DIRECTORY ${EXTERNAL_DIR}/bin
|
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E create_symlink ../hsa/bin/${AMDHSAFIN_NAME} ${AMDHSAFIN_NAME} )
|
|
|
|
|
|
|
|
|
|
add_custom_target (copy_targets DEPENDS create_dirs
|
|
|
|
|
${FINALIZER_LIBRARY_TARGET}
|
|
|
|
|
${TOOLS_LIBRARY_TARGET}
|
|
|
|
|
${AMDHSACOD_TARGET}
|
|
|
|
|
${AMDHSAFIN_TARGET}
|
|
|
|
|
${FINALIZER_LIBRARY_SONAME}
|
|
|
|
|
${TOOLS_LIBRARY_SONAME}
|
|
|
|
|
${AMDHSACOD_LINK}
|
|
|
|
|
${AMDHSAFIN_LINK}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
install (DIRECTORY ${EXTERNAL_DIR}/bin/ DESTINATION bin USE_SOURCE_PERMISSIONS )
|
|
|
|
|
install (DIRECTORY ${EXTERNAL_DIR}/hsa/ DESTINATION hsa USE_SOURCE_PERMISSIONS )
|
|
|
|
|
|
|
|
|
|
set ( CPACK_PACKAGE_NAME ${PROJECT_NAME} )
|
|
|
|
|
set ( CPACK_PACKAGE_VENDOR "AMD" )
|
|
|
|
|
set ( CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR} )
|
|
|
|
|
set ( CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR} )
|
|
|
|
|
set ( CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH} )
|
|
|
|
|
set ( CPACK_PACKAGE_CONTACT "James Edwards (JamesAdrian.Edwards@amd.com)" )
|
|
|
|
|
set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD Heterogeneous System Architecture HSA - Linux HSA Runtime extensions for Boltzmann (ROCm) platforms" )
|
|
|
|
|
set ( CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/description" )
|
|
|
|
|
set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/copyright" )
|
|
|
|
|
|
|
|
|
|
# Debian package specific variables
|
|
|
|
|
# set ( CPACK_DEBIAN_PACKAGE_DEPENDS "None" )
|
|
|
|
|
set ( CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/RadeonOpenCompute/ROCR-Runtime" )
|
|
|
|
|
set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/postinst;${CMAKE_CURRENT_SOURCE_DIR}/prerm" )
|
|
|
|
|
|
|
|
|
|
# RPM package specific variables
|
|
|
|
|
# set ( CPACK_RPM_PACKAGE_REQUIRES "None" )
|
|
|
|
|
set ( CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/rpm_post" )
|
|
|
|
|
set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/rpm_postun" )
|
|
|
|
|
|
|
|
|
|
include ( CPack )
|