Modify hsa CMakeList.txt file to use PREFIX_PATH and git describe versioning.
Change-Id: I08668df07725369ecf8a2f35e74dd7d64c8ca94b
Этот коммит содержится в:
коммит произвёл
JamesAdrian Edwards
родитель
9887c26113
Коммит
73e942cd8a
@@ -3,7 +3,7 @@
|
||||
## The University of Illinois/NCSA
|
||||
## Open Source License (NCSA)
|
||||
##
|
||||
## Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved.
|
||||
## Copyright (c) 2014-2017, Advanced Micro Devices, Inc. All rights reserved.
|
||||
##
|
||||
## Developed by:
|
||||
##
|
||||
@@ -41,31 +41,76 @@
|
||||
################################################################################
|
||||
|
||||
## Parses the VERSION_STRING variable and places
|
||||
## the first, second and third number values in
|
||||
## the first, second and third number values in
|
||||
## the major, minor and patch variables.
|
||||
function(parse_version VERSION_STRING)
|
||||
function( parse_version VERSION_STRING )
|
||||
|
||||
string(REGEX MATCHALL "[0123456789]+" VERSIONS ${VERSION_STRING})
|
||||
list(LENGTH VERSIONS VERSION_COUNT)
|
||||
string ( FIND ${VERSION_STRING} "-" STRING_INDEX )
|
||||
|
||||
if (${VERSION_COUNT} GREATER 0)
|
||||
list(GET VERSIONS 0 MAJOR)
|
||||
set(VERSION_MAJOR ${MAJOR} PARENT_SCOPE)
|
||||
set(TEMP_VERSION_STRING "${MAJOR}")
|
||||
if ( ${STRING_INDEX} GREATER -1 )
|
||||
math ( EXPR STRING_INDEX "${STRING_INDEX} + 1" )
|
||||
string ( SUBSTRING ${VERSION_STRING} ${STRING_INDEX} -1 VERSION_BUILD )
|
||||
endif ()
|
||||
|
||||
if (${VERSION_COUNT} GREATER 1)
|
||||
list(GET VERSIONS 1 MINOR)
|
||||
set(VERSION_MINOR ${MINOR} PARENT_SCOPE)
|
||||
set(TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${MINOR}")
|
||||
string ( REGEX MATCHALL "[0123456789]+" VERSIONS ${VERSION_STRING} )
|
||||
list (LENGTH VERSIONS VERSION_COUNT )
|
||||
|
||||
if ( ${VERSION_COUNT} GREATER 0)
|
||||
list ( GET VERSIONS 0 MAJOR )
|
||||
set ( VERSION_MAJOR ${MAJOR} PARENT_SCOPE )
|
||||
set ( TEMP_VERSION_STRING "${MAJOR}" )
|
||||
endif ()
|
||||
|
||||
if (${VERSION_COUNT} GREATER 2)
|
||||
list(GET VERSIONS 2 PATCH)
|
||||
set(VERSION_PATCH ${PATCH} PARENT_SCOPE)
|
||||
set(TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${PATCH}")
|
||||
if ( ${VERSION_COUNT} GREATER 1 )
|
||||
list ( GET VERSIONS 1 MINOR )
|
||||
set ( VERSION_MINOR ${MINOR} PARENT_SCOPE )
|
||||
set ( TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${MINOR}" )
|
||||
endif ()
|
||||
|
||||
set(VERSION_STRING "${TEMP_VERSION_STRING}" PARENT_SCOPE)
|
||||
if ( ${VERSION_COUNT} GREATER 2 )
|
||||
list ( GET VERSIONS 2 PATCH )
|
||||
set ( VERSION_PATCH ${PATCH} PARENT_SCOPE )
|
||||
set ( TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${PATCH}" )
|
||||
endif ()
|
||||
|
||||
if (DEFINED VERSION_BUILD )
|
||||
set ( VERSION_BUILD "${VERSION_BUILD}" PARENT_SCOPE )
|
||||
endif ()
|
||||
|
||||
set ( VERSION_STRING "${TEMP_VERSION_STRING}" PARENT_SCOPE )
|
||||
|
||||
endfunction ()
|
||||
|
||||
## Gets the current version of the repository
|
||||
## using versioning tags and git describe.
|
||||
## Passes back a packaging version string
|
||||
## and a library version string.
|
||||
function ( get_version DEFAULT_VERSION_STRING )
|
||||
|
||||
parse_version ( ${DEFAULT_VERSION_STRING} )
|
||||
|
||||
find_program ( GIT NAMES git )
|
||||
|
||||
if ( GIT )
|
||||
|
||||
execute_process ( COMMAND git describe --dirty --long --match [0-9]*
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_TAG_STRING
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
RESULT_VARIABLE RESULT )
|
||||
|
||||
if ( ${RESULT} EQUAL 0 )
|
||||
|
||||
parse_version ( ${GIT_TAG_STRING} )
|
||||
|
||||
endif ()
|
||||
|
||||
endif ()
|
||||
|
||||
set( VERSION_STRING "${VERSION_STRING}" PARENT_SCOPE )
|
||||
set( VERSION_MAJOR "${VERSION_MAJOR}" PARENT_SCOPE )
|
||||
set( VERSION_MINOR "${VERSION_MINOR}" PARENT_SCOPE )
|
||||
set( VERSION_PATCH "${VERSION_PATCH}" PARENT_SCOPE )
|
||||
set( VERSION_BUILD "${VERSION_BUILD}" PARENT_SCOPE )
|
||||
|
||||
endfunction()
|
||||
|
||||
@@ -1,53 +1,29 @@
|
||||
cmake_minimum_required ( VERSION 2.8.0 ) ## GCC 4.8 or higher compiler required.
|
||||
cmake_minimum_required ( VERSION 3.5.0 )
|
||||
|
||||
if ( WIN32 )
|
||||
MESSAGE ( FATAL_ERROR "Windows build is not supported." )
|
||||
endif ()
|
||||
|
||||
## Process build type.
|
||||
if( NOT DEFINED CMAKE_BUILD_TYPE )
|
||||
set( CMAKE_BUILD_TYPE "Debug" )
|
||||
endif()
|
||||
## Verbose output.
|
||||
set ( CMAKE_VERBOSE_MAKEFILE on )
|
||||
|
||||
## Determine external build folder.
|
||||
if( "${CMAKE_BUILD_TYPE}" STREQUAL Release )
|
||||
set( BUILD_TYPE "Release" )
|
||||
set( ISDEBUG 0 )
|
||||
set( BUILD_FOLDER "B_rel" )
|
||||
set( BUILD_FOLDER "lnx64a/B_rel" )
|
||||
else()
|
||||
set( BUILD_TYPE "Debug" )
|
||||
set( ISDEBUG 1)
|
||||
set( BUILD_FOLDER "B_dbg" )
|
||||
set( BUILD_FOLDER "lnx64a/B_dbg" )
|
||||
endif()
|
||||
|
||||
## Process build target.
|
||||
if ( "${HSA_BUILD_TARGET_BITS}" STREQUAL 32 )
|
||||
set ( ONLY64STR "" )
|
||||
set ( IS64BIT 0 )
|
||||
set ( BUILD_FOLDER "lnx/${BUILD_FOLDER}" )
|
||||
else ()
|
||||
set ( ONLY64STR "64" )
|
||||
set ( IS64BIT 1 )
|
||||
set ( BUILD_FOLDER "lnx64a/${BUILD_FOLDER}" )
|
||||
endif ()
|
||||
|
||||
## Check that the libhsail include and library directories are defined.
|
||||
if ( NOT DEFINED LIBHSAIL_BUILD_FOLDER )
|
||||
set ( LIBHSAIL_BUILD_FOLDER ${BUILD_FOLDER} )
|
||||
endif()
|
||||
|
||||
## Used for packaging.
|
||||
set ( CORE_RUNTIME_NAME "hsa-runtime" )
|
||||
set ( CORE_RUNTIME_COMPONENT "lib${CORE_RUNTIME_NAME}" )
|
||||
set ( CORE_RUNTIME_TARGET "${CORE_RUNTIME_NAME}${ONLY64STR}" )
|
||||
set ( CORE_RUNTIME_LIB "lib${CORE_RUNTIME_NAME}${ONLY64STR}.so" )
|
||||
set ( THUNK_LIB "libhsakmt.so" )
|
||||
## Set ext runtime module name and project name.
|
||||
set ( FINALIZE_NAME "hsa-ext-finalize" )
|
||||
set ( FINALIZE_COMPONENT "lib${FINALIZE_NAME}" )
|
||||
set ( FINALIZE_TARGET "${FINALIZE_NAME}64" )
|
||||
project ( ${FINALIZE_TARGET} )
|
||||
|
||||
MESSAGE ( ------IS64BIT: ${IS64BIT} )
|
||||
MESSAGE ( ------Compiler: ${CMAKE_CXX_COMPILER} )
|
||||
MESSAGE ( ------Version: ${CMAKE_CXX_COMPILER_VERSION} )
|
||||
|
||||
## Verbose output.
|
||||
set ( CMAKE_VERBOSE_MAKEFILE on )
|
||||
## Include the cmake_modules utils.cmake
|
||||
list ( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake_modules" )
|
||||
include ( utils )
|
||||
|
||||
## Compiler preproc definitions.
|
||||
add_definitions ( -D__linux__ )
|
||||
@@ -59,11 +35,53 @@ add_definitions ( -DAMD_INTERNAL_BUILD )
|
||||
add_definitions ( -DLITTLEENDIAN_CPU=1 )
|
||||
add_definitions ( -D HSA_DEPRECATED= )
|
||||
|
||||
## Set ext runtime module name and project name.
|
||||
set ( FINALIZE_NAME "hsa-ext-finalize" )
|
||||
set ( FINALIZE_COMPONENT "lib${FINALIZE_NAME}" )
|
||||
set ( FINALIZE_TARGET "${FINALIZE_NAME}${ONLY64STR}" )
|
||||
project ( ${FINALIZE_TARGET} )
|
||||
## Get the package version. The defaults to 1.0.0.
|
||||
get_version ( "1.0.0" )
|
||||
|
||||
set ( BUILD_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( BUILD_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( BUILD_VERSION_PATCH ${VERSION_PATCH} )
|
||||
set ( LIB_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
if ( DEFINED VERSION_BUILD )
|
||||
set ( BUILD_VERSION_PATCH "${BUILD_VERSION_PATCH}-${VERSION_BUILD}" )
|
||||
endif ()
|
||||
set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
|
||||
## Find the hsakmt library and include files
|
||||
find_file ( HSAKMT_INC "libhsakmt/hsakmt.h" )
|
||||
find_library ( HSAKMT_LIB libhsakmt.so )
|
||||
get_filename_component ( HSAKMT_LIB_PATH ${HSAKMT_LIB} DIRECTORY )
|
||||
get_filename_component ( HSAKMT_INC_PATH ${HSAKMT_INC} DIRECTORY )
|
||||
include_directories ( ${HSAKMT_BUILD_INC_PATH} )
|
||||
link_directories (${HSAKMT_BUILD_LIB_PATH})
|
||||
|
||||
## Find the hsa-runtime and include files
|
||||
find_file ( HSA_INC "hsa/hsa.h" )
|
||||
find_library ( HSA_LIB libhsa-runtime64.so )
|
||||
get_filename_component ( HSA_LIB_PATH ${HSA_LIB} DIRECTORY )
|
||||
get_filename_component ( HSA_INC_PATH ${HSA_INC} DIRECTORY )
|
||||
include_directories ( ${HSA_BUILD_INC_PATH} )
|
||||
link_directories (${HSA_BUILD_LIB_PATH})
|
||||
|
||||
## Find the external library files and set the link command
|
||||
find_library ( HSAIL_LIB libhsail.a )
|
||||
set ( LIBHSAIL -Wl,--no-whole-archive PRIVATE ${HSAIL_LIB} )
|
||||
|
||||
find_library ( HSAIL_AMD_LIB libhsail-amd.a )
|
||||
set ( LIBHSAILAMD -Wl,--no-whole-archive PRIVATE ${HSAIL_AMD_LIB} )
|
||||
|
||||
find_library ( AMDHSAFIN_LIB amdhsafin64.a )
|
||||
set ( LIBAMDHSAFIN -Wl,--no-whole-archive ${AMDHSAFIN_LIB} )
|
||||
|
||||
find_library ( LIBAMDHSACODE libamdhsacode.a )
|
||||
|
||||
find_library ( LIBCACHING libcaching.a )
|
||||
|
||||
find_library ( LIBSCP3 scSP3_R1000.a )
|
||||
|
||||
find_library ( LIBDWARF libdwarf.a )
|
||||
|
||||
find_library ( LIBELF libelf.a )
|
||||
|
||||
## External dependencies and directories
|
||||
if ( NOT DEFINED REG_INCLUDE )
|
||||
@@ -132,21 +150,8 @@ set ( FINALIZE_SRCS ${EXT_SOURCE_DIR}/finalize/hsa_ext_finalize.cpp
|
||||
add_library ( ${FINALIZE_TARGET} SHARED ${FINALIZE_SRCS} )
|
||||
|
||||
## Set the VERSION and SOVERSION values
|
||||
if ( DEFINED VERSION_STRING )
|
||||
set_property ( TARGET ${FINALIZE_TARGET} PROPERTY VERSION "${VERSION_STRING}" )
|
||||
endif ()
|
||||
|
||||
set_property ( TARGET ${FINALIZE_TARGET} PROPERTY SOVERSION "${VERSION_MAJOR}" )
|
||||
|
||||
## Add the core runtime in the link
|
||||
set ( LIBAMDHSAFIN -Wl,--no-whole-archive ${HSA_BUILD_LIB_PATH}/amdhsafin64.a )
|
||||
set ( LIBAMDHSACODE ${HSA_BUILD_LIB_PATH}/libamdhsacode.a )
|
||||
set ( LIBCACHING ${HSA_BUILD_LIB_PATH}/libcaching.a )
|
||||
set ( LIBSCP3 ${HSA_BUILD_LIB_PATH}/scSP3_R1000.a )
|
||||
set ( LIBHSAILAMD ${HSA_BUILD_LIB_PATH}/libhsail-amd.a )
|
||||
set ( LIBHSAIL ${HSA_BUILD_LIB_PATH}/libhsail.a )
|
||||
set ( LIBDWARF ${HSA_BUILD_LIB_PATH}/libdwarf.a )
|
||||
set ( LIBELF ${HSA_BUILD_LIB_PATH}/libelf.a )
|
||||
set_property ( TARGET ${FINALIZE_TARGET} PROPERTY VERSION "${LIB_VERSION_STRING}" )
|
||||
set_property ( TARGET ${FINALIZE_TARGET} PROPERTY SOVERSION "${BUILD_VERSION_MAJOR}" )
|
||||
|
||||
## Add the core runtime in the link
|
||||
link_directories(${HSA_BUILD_LIB_PATH})
|
||||
@@ -161,8 +166,8 @@ target_link_libraries (
|
||||
PRIVATE ${LIBHSAIL}
|
||||
PRIVATE ${LIBDWARF}
|
||||
PRIVATE ${LIBELF}
|
||||
PRIVATE ${HSA_BUILD_LIB_PATH}/${CORE_RUNTIME_LIB}
|
||||
PRIVATE ${HSA_BUILD_LIB_PATH}/${THUNK_LIB}
|
||||
PRIVATE hsa-runtime64
|
||||
PRIVATE hsakmt
|
||||
c stdc++ dl pthread rt
|
||||
)
|
||||
|
||||
|
||||
@@ -1,52 +1,29 @@
|
||||
cmake_minimum_required ( VERSION 2.8.0 ) ## GCC 4.8 or higher compiler required.
|
||||
cmake_minimum_required ( VERSION 3.5.0 )
|
||||
|
||||
if ( WIN32 )
|
||||
MESSAGE ( FATAL_ERROR "Windows build is not supported." )
|
||||
endif ()
|
||||
|
||||
## Process build type.
|
||||
if( NOT DEFINED CMAKE_BUILD_TYPE )
|
||||
set( CMAKE_BUILD_TYPE "Debug" )
|
||||
endif()
|
||||
## Verbose output.
|
||||
set ( CMAKE_VERBOSE_MAKEFILE on )
|
||||
|
||||
## Determine external build folder.
|
||||
if( "${CMAKE_BUILD_TYPE}" STREQUAL Release )
|
||||
set( BUILD_TYPE "Release" )
|
||||
set( ISDEBUG 0 )
|
||||
set( BUILD_FOLDER "B_rel" )
|
||||
set( BUILD_FOLDER "lnx64a/B_rel" )
|
||||
else()
|
||||
set( BUILD_TYPE "Debug" )
|
||||
set( ISDEBUG 1)
|
||||
set( BUILD_FOLDER "B_dbg" )
|
||||
set( BUILD_FOLDER "lnx64a/B_dbg" )
|
||||
endif()
|
||||
|
||||
## Process build target.
|
||||
if ( "${HSA_BUILD_TARGET_BITS}" STREQUAL 32 )
|
||||
set ( ONLY64STR "" )
|
||||
set ( IS64BIT 0 )
|
||||
set ( BUILD_FOLDER "lnx/${BUILD_FOLDER}" )
|
||||
else ()
|
||||
set ( ONLY64STR "64" )
|
||||
set ( IS64BIT 1 )
|
||||
set ( BUILD_FOLDER "lnx64a/${BUILD_FOLDER}" )
|
||||
endif ()
|
||||
|
||||
## Check that the libhsail include and library directories are defined.
|
||||
if ( NOT DEFINED LIBHSAIL_BUILD_FOLDER )
|
||||
set ( LIBHSAIL_BUILD_FOLDER ${BUILD_FOLDER} )
|
||||
endif()
|
||||
|
||||
## Used for packaging.
|
||||
set ( CORE_RUNTIME_NAME "hsa-runtime" )
|
||||
set ( CORE_RUNTIME_COMPONENT "lib${CORE_RUNTIME_NAME}" )
|
||||
set ( CORE_RUNTIME_TARGET "${CORE_RUNTIME_NAME}${ONLY64STR}" )
|
||||
set ( CORE_RUNTIME_LIB "lib${CORE_RUNTIME_NAME}${ONLY64STR}.so" )
|
||||
## Set ext runtime module name and project name.
|
||||
set ( IMAGE_NAME "hsa-ext-image" )
|
||||
set ( IMAGE_COMPONENT "lib${IMAGE_NAME}" )
|
||||
set ( IMAGE_TARGET "${IMAGE_NAME}64" )
|
||||
project ( ${IMAGE_TARGET} )
|
||||
|
||||
MESSAGE ( ------IS64BIT: ${IS64BIT} )
|
||||
MESSAGE ( ------Compiler: ${CMAKE_CXX_COMPILER} )
|
||||
MESSAGE ( ------Version: ${CMAKE_CXX_COMPILER_VERSION} )
|
||||
|
||||
## Verbose output.
|
||||
set ( CMAKE_VERBOSE_MAKEFILE on )
|
||||
## Include the cmake_modules utils.cmake
|
||||
list ( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake_modules" )
|
||||
include ( utils )
|
||||
|
||||
## Compiler preproc definitions.
|
||||
add_definitions ( -D__linux__ )
|
||||
@@ -58,11 +35,40 @@ add_definitions ( -DAMD_INTERNAL_BUILD )
|
||||
add_definitions ( -DLITTLEENDIAN_CPU=1 )
|
||||
add_definitions ( -D HSA_DEPRECATED= )
|
||||
|
||||
## Set ext runtime module name and project name.
|
||||
set ( IMAGE_NAME "hsa-ext-image" )
|
||||
set ( IMAGE_COMPONENT "lib${IMAGE_NAME}" )
|
||||
set ( IMAGE_TARGET "${IMAGE_NAME}${ONLY64STR}" )
|
||||
project ( ${IMAGE_TARGET} )
|
||||
## Get the package version. The defaults to 1.0.0.
|
||||
get_version ( "1.0.0" )
|
||||
|
||||
set ( BUILD_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( BUILD_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( BUILD_VERSION_PATCH ${VERSION_PATCH} )
|
||||
set ( LIB_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
if ( DEFINED VERSION_BUILD )
|
||||
set ( BUILD_VERSION_PATCH "${BUILD_VERSION_PATCH}-${VERSION_BUILD}" )
|
||||
endif ()
|
||||
set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
|
||||
## Find the hsakmt library and include files
|
||||
find_file ( HSAKMT_INC "libhsakmt/hsakmt.h" )
|
||||
find_library ( HSAKMT_LIB libhsakmt.so )
|
||||
get_filename_component ( HSAKMT_LIB_PATH ${HSAKMT_LIB} DIRECTORY )
|
||||
get_filename_component ( HSAKMT_INC_PATH ${HSAKMT_INC} DIRECTORY )
|
||||
include_directories ( ${HSAKMT_BUILD_INC_PATH} )
|
||||
link_directories (${HSAKMT_BUILD_LIB_PATH})
|
||||
|
||||
## Find the hsa-runtime and include files
|
||||
find_file ( HSA_INC "hsa/hsa.h" )
|
||||
find_library ( HSA_LIB libhsa-runtime64.so )
|
||||
get_filename_component ( HSA_LIB_PATH ${HSA_LIB} DIRECTORY )
|
||||
get_filename_component ( HSA_INC_PATH ${HSA_INC} DIRECTORY )
|
||||
include_directories ( ${HSA_BUILD_INC_PATH} )
|
||||
link_directories (${HSA_BUILD_LIB_PATH})
|
||||
|
||||
## Find the libhsail files in the link
|
||||
find_library ( HSAIL_LIB libhsail.a )
|
||||
set ( LIBHSAIL -Wl,--no-whole-archive PRIVATE ${HSAIL_LIB} )
|
||||
|
||||
find_library ( HSAIL_AMD_LIB libhsail-amd.a )
|
||||
set ( LIBHSAILAMD -Wl,--no-whole-archive PRIVATE ${HSAIL_AMD_LIB} )
|
||||
|
||||
## External dependencies and directories
|
||||
if ( NOT DEFINED REG_INCLUDE )
|
||||
@@ -122,9 +128,6 @@ include_directories ( ${HSA_CLOSED_SOURCE_DIR}/drivers/hsa/compiler/ext_finalize
|
||||
include_directories ( ${HSA_CLOSED_SOURCE_DIR}/drivers/hsa/compiler/finalizer/HSAIL/hsail-tools/libHSAIL-AMD )
|
||||
include_directories ( ${HSA_CLOSED_SOURCE_DIR}/drivers/hsa/compiler/finalizer/HSAIL/hsail-tools/libHSAIL )
|
||||
include_directories ( ${HSA_CLOSED_SOURCE_DIR}/drivers/hsa/compiler/finalizer/HSAIL/hsail-tools/libHSAIL/build/${LIBHSAIL_BUILD_FOLDER} )
|
||||
include_directories ( ${HSAKMT_BUILD_INC_PATH} )
|
||||
|
||||
link_directories (${HSAKMT_BUILD_LIB_PATH})
|
||||
|
||||
set ( IMAGE_SRCS ${EXT_SOURCE_DIR}/image/addrlib/addrinterface.cpp
|
||||
${EXT_SOURCE_DIR}/image/addrlib/core/addrelemlib.cpp
|
||||
@@ -149,24 +152,15 @@ set ( IMAGE_SRCS ${EXT_SOURCE_DIR}/image/addrlib/addrinterface.cpp
|
||||
add_library ( ${IMAGE_TARGET} SHARED ${IMAGE_SRCS} )
|
||||
|
||||
## Set the VERSION and SOVERSION values
|
||||
if ( DEFINED VERSION_STRING )
|
||||
set_property ( TARGET ${IMAGE_TARGET} PROPERTY VERSION "${VERSION_STRING}" )
|
||||
endif ()
|
||||
|
||||
set_property ( TARGET ${IMAGE_TARGET} PROPERTY SOVERSION "${VERSION_MAJOR}" )
|
||||
set_property ( TARGET ${IMAGE_TARGET} PROPERTY VERSION "${LIB_VERSION_STRING}" )
|
||||
set_property ( TARGET ${IMAGE_TARGET} PROPERTY SOVERSION "${BUILD_VERSION_MAJOR}" )
|
||||
|
||||
## Add the core runtime in the link
|
||||
set ( LIBHSAIL -Wl,--no-whole-archive PRIVATE ${HSA_BUILD_LIB_PATH}/libhsail.a )
|
||||
set ( LIBHSAILAMD -Wl,--no-whole-archive PRIVATE ${HSA_BUILD_LIB_PATH}/libhsail-amd.a )
|
||||
|
||||
## Add the core runtime in the link
|
||||
link_directories(${HSA_BUILD_LIB_PATH})
|
||||
target_link_libraries (
|
||||
${IMAGE_TARGET}
|
||||
PRIVATE ${LIBHSAIL}
|
||||
PRIVATE ${LIBHSAILAMD}
|
||||
PRIVATE ${HSA_BUILD_LIB_PATH}/libhsail.a
|
||||
PRIVATE ${HSA_BUILD_LIB_PATH}/${CORE_RUNTIME_LIB}
|
||||
PRIVATE hsa-runtime64
|
||||
PRIVATE hsakmt
|
||||
c dl pthread rt
|
||||
)
|
||||
@@ -177,4 +171,4 @@ if ( "${CMAKE_BUILD_TYPE}" STREQUAL Release )
|
||||
endif ()
|
||||
|
||||
## Set install information
|
||||
install ( TARGETS ${IMAGE_TARGET} LIBRARY DESTINATION lib COMPONENT ${IMAGE_COMPONENT})
|
||||
install ( TARGETS ${IMAGE_TARGET} LIBRARY DESTINATION hsa/lib COMPONENT ${IMAGE_COMPONENT})
|
||||
|
||||
@@ -1,34 +1,17 @@
|
||||
cmake_minimum_required ( VERSION 2.8.0 )
|
||||
## GCC 4.8 or higher compiler required.
|
||||
|
||||
if ( WIN32 )
|
||||
MESSAGE ( FATAL_ERROR "Windows build is not supported." )
|
||||
endif ()
|
||||
|
||||
## Process environment variables.
|
||||
if ( "${HSA_BUILD_TARGET_BITS}" STREQUAL 32 )
|
||||
set ( ONLY64STR "" )
|
||||
set ( IS64BIT 0 )
|
||||
else ()
|
||||
set ( ONLY64STR "64" )
|
||||
set ( IS64BIT 1 )
|
||||
endif ()
|
||||
|
||||
## Build information
|
||||
MESSAGE ( ------IS64BIT: ${IS64BIT} )
|
||||
MESSAGE ( ------Compiler: ${CMAKE_CXX_COMPILER} )
|
||||
MESSAGE ( ------Version: ${CMAKE_CXX_COMPILER_VERSION} )
|
||||
|
||||
set ( CMAKE_BUILD_TYPE ${BUILD_TYPE} )
|
||||
cmake_minimum_required ( VERSION 3.5.0 )
|
||||
|
||||
## Verbose output.
|
||||
set ( CMAKE_VERBOSE_MAKEFILE on )
|
||||
|
||||
## Used for packaging.
|
||||
set ( CORE_RUNTIME_NAME "hsa-runtime" )
|
||||
set ( CORE_RUNTIME_COMPONENT "lib${CORE_RUNTIME_NAME}" )
|
||||
set ( CORE_RUNTIME_TARGET "${CORE_RUNTIME_NAME}${ONLY64STR}" )
|
||||
set ( CORE_RUNTIME_LIB "lib${CORE_RUNTIME_NAME}${ONLY64STR}.so" )
|
||||
## Set ext runtime module name and project name.
|
||||
set ( TOOLS_NAME "hsa-runtime-tools" )
|
||||
set ( TOOLS_COMPONENT "lib${TOOLS_NAME}" )
|
||||
set ( TOOLS_TARGET "${TOOLS_NAME}64" )
|
||||
project ( ${TOOLS_TARGET} )
|
||||
|
||||
## Include the cmake_modules utils.cmake
|
||||
list ( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake_modules" )
|
||||
include ( utils )
|
||||
|
||||
## Compiler preproc definitions.
|
||||
add_definitions ( -D__linux__ )
|
||||
@@ -40,11 +23,33 @@ add_definitions ( -DAMD_INTERNAL_BUILD )
|
||||
add_definitions ( -DLITTLEENDIAN_CPU=1 )
|
||||
add_definitions ( -D HSA_DEPRECATED= )
|
||||
|
||||
## Set ext runtime module name and project name.
|
||||
set ( TOOLS_NAME "hsa-runtime-tools" )
|
||||
set ( TOOLS_COMPONENT "lib${TOOLS_NAME}" )
|
||||
set ( TOOLS_TARGET "${TOOLS_NAME}${ONLY64STR}" )
|
||||
project ( ${TOOLS_TARGET} )
|
||||
## Get the package version. The defaults to 1.0.0.
|
||||
get_version ( "1.0.0" )
|
||||
|
||||
set ( BUILD_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( BUILD_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( BUILD_VERSION_PATCH ${VERSION_PATCH} )
|
||||
set ( LIB_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
if ( DEFINED VERSION_BUILD )
|
||||
set ( BUILD_VERSION_PATCH "${BUILD_VERSION_PATCH}-${VERSION_BUILD}" )
|
||||
endif ()
|
||||
set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
|
||||
## Find the hsakmt library and include files
|
||||
find_file ( HSAKMT_INC "libhsakmt/hsakmt.h" )
|
||||
find_library ( HSAKMT_LIB libhsakmt.so )
|
||||
get_filename_component ( HSAKMT_LIB_PATH ${HSAKMT_LIB} DIRECTORY )
|
||||
get_filename_component ( HSAKMT_INC_PATH ${HSAKMT_INC} DIRECTORY )
|
||||
include_directories ( ${HSAKMT_BUILD_INC_PATH} )
|
||||
link_directories (${HSAKMT_BUILD_LIB_PATH})
|
||||
|
||||
## Find the hsa-runtime and include files
|
||||
find_file ( HSA_INC "hsa/hsa.h" )
|
||||
find_library ( HSA_LIB libhsa-runtime64.so )
|
||||
get_filename_component ( HSA_LIB_PATH ${HSA_LIB} DIRECTORY )
|
||||
get_filename_component ( HSA_INC_PATH ${HSA_INC} DIRECTORY )
|
||||
include_directories ( ${HSA_BUILD_INC_PATH} )
|
||||
link_directories (${HSA_BUILD_LIB_PATH})
|
||||
|
||||
## External dependencies
|
||||
if ( NOT DEFINED REG_INCLUDE )
|
||||
@@ -216,29 +221,26 @@ add_library ( ${TOOLS_TARGET} SHARED ${CORE_SRC}
|
||||
${INTERCEPT_SRC}
|
||||
${PROFILER_SRC}
|
||||
${THREAD_TRACE_SRC}
|
||||
${SP3_R1000_SRC}
|
||||
${SP3_R1000_SRC}
|
||||
${UTIL_SRC} )
|
||||
|
||||
## Set the VERSION and SOVERSION values
|
||||
set_property ( TARGET ${TOOLS_TARGET} PROPERTY VERSION "${LIB_VERSION_STRING}" )
|
||||
set_property ( TARGET ${TOOLS_TARGET} PROPERTY SOVERSION "${BUILD_VERSION_MAJOR}" )
|
||||
|
||||
## Add the required link libraries
|
||||
target_link_libraries (
|
||||
target_link_libraries (
|
||||
${TOOLS_TARGET}
|
||||
PRIVATE ${HSA_BUILD_LIB_PATH}/${CORE_RUNTIME_LIB}
|
||||
PRIVATE ${HSA_BUILD_LIB_PATH}/libhsakmt.so
|
||||
PRIVATE hsa-runtime64
|
||||
PRIVATE hsakmt
|
||||
c dl pthread rt
|
||||
)
|
||||
|
||||
## Set the VERSION and SOVERSION values
|
||||
if ( DEFINED VERSION_STRING )
|
||||
set_property ( TARGET ${TOOLS_TARGET} PROPERTY VERSION "${VERSION_STRING}" )
|
||||
endif ()
|
||||
|
||||
set_property ( TARGET ${TOOLS_TARGET} PROPERTY SOVERSION "${VERSION_MAJOR}" )
|
||||
|
||||
## If the build is Release, strip the target library
|
||||
if ( "${CMAKE_BUILD_TYPE}" STREQUAL Release )
|
||||
add_custom_command ( TARGET ${TOOLS_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so )
|
||||
endif ()
|
||||
|
||||
## Set install information
|
||||
install ( TARGETS ${TOOLS_TARGET} LIBRARY DESTINATION lib COMPONENT ${TOOLS_COMPONENT} )
|
||||
install ( DIRECTORY ${TOOLS_SOURCE_DIR}/inc/ DESTINATION include COMPONENT tools-headers FILES_MATCHING PATTERN "*.h" )
|
||||
install ( TARGETS ${TOOLS_TARGET} LIBRARY DESTINATION hsa/lib COMPONENT ${TOOLS_COMPONENT} )
|
||||
install ( DIRECTORY ${TOOLS_SOURCE_DIR}/inc/ DESTINATION hsa/include/hsa FILES_MATCHING PATTERN "*.h" )
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
## The University of Illinois/NCSA
|
||||
## Open Source License (NCSA)
|
||||
##
|
||||
## Copyright (c) 2014-2016, Advanced Micro Devices, Inc. All rights reserved.
|
||||
## Copyright (c) 2014-2017, Advanced Micro Devices, Inc. All rights reserved.
|
||||
##
|
||||
## Developed by:
|
||||
##
|
||||
@@ -40,15 +40,11 @@
|
||||
##
|
||||
################################################################################
|
||||
|
||||
cmake_minimum_required ( VERSION 2.8.0 )
|
||||
## GCC 4.8 or higher compiler required.
|
||||
|
||||
if ( WIN32 )
|
||||
MESSAGE ( FATAL_ERROR "Windows build is not supported." )
|
||||
endif ()
|
||||
cmake_minimum_required ( VERSION 3.5.0 )
|
||||
|
||||
## Verbose output.
|
||||
set ( CMAKE_VERBOSE_MAKEFILE on )
|
||||
|
||||
## Set core runtime module name and project name.
|
||||
set ( CORE_RUNTIME_NAME "hsa-runtime" )
|
||||
set ( CORE_RUNTIME_COMPONENT "lib${CORE_RUNTIME_NAME}" )
|
||||
@@ -56,6 +52,8 @@ set ( CORE_RUNTIME_TARGET "${CORE_RUNTIME_NAME}64" )
|
||||
project( ${CORE_RUNTIME_TARGET} )
|
||||
|
||||
list ( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules" )
|
||||
include ( utils )
|
||||
include ( hsa_common )
|
||||
|
||||
## Find LibElf
|
||||
find_package(LibElf REQUIRED)
|
||||
@@ -67,50 +65,39 @@ add_definitions ( -DHSA_EXPORT_FINALIZER=1 )
|
||||
add_definitions ( -DHSA_EXPORT_IMAGES=1 )
|
||||
add_definitions ( -D HSA_DEPRECATED= )
|
||||
|
||||
include ( utils )
|
||||
include ( hsa_common )
|
||||
## Get the package version. The defaults to 1.0.0.
|
||||
get_version ( "1.0.0" )
|
||||
|
||||
## Parse the package version
|
||||
if( NOT DEFINED VERSION_STRING )
|
||||
set ( VERSION_STRING "1.1.0" )
|
||||
endif()
|
||||
set ( BUILD_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( BUILD_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( BUILD_VERSION_PATCH ${VERSION_PATCH} )
|
||||
set ( LIB_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
if ( DEFINED VERSION_BUILD )
|
||||
set ( BUILD_VERSION_PATCH "${BUILD_VERSION_PATCH}-${VERSION_BUILD}" )
|
||||
endif ()
|
||||
set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
|
||||
## Parse the package version
|
||||
parse_version ( ${VERSION_STRING} )
|
||||
## Find the hsakmt library and include files
|
||||
find_file ( HSAKMT_INC "libhsakmt/hsakmt.h" )
|
||||
find_library ( HSAKMT_LIB libhsakmt.so )
|
||||
get_filename_component ( HSAKMT_LIB_PATH ${HSAKMT_LIB} DIRECTORY )
|
||||
get_filename_component ( HSAKMT_INC_PATH ${HSAKMT_INC} DIRECTORY )
|
||||
|
||||
set ( PACKAGE_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( PACKAGE_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( PACKAGE_VERSION_PATCH ${VERSION_PATCH} )
|
||||
|
||||
## Parse the library version
|
||||
if( NOT DEFINED RUNTIME_VERSION_STRING )
|
||||
set ( RUNTIME_VERSION_STRING "1" )
|
||||
endif()
|
||||
|
||||
parse_version ( ${RUNTIME_VERSION_STRING} )
|
||||
set ( RUNTIME_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( RUNTIME_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( RUNTIME_VERSION_PATCH ${VERSION_PATCH} )
|
||||
## Set include and link directories for libhsakmt
|
||||
include_directories ( ${HSAKMT_INC_PATH} )
|
||||
link_directories ( ${HSAKMT_LIB_PATH} )
|
||||
|
||||
## Set include directories for ROCr runtime
|
||||
include_directories ( ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||
include_directories ( ${CMAKE_CURRENT_SOURCE_DIR}/inc )
|
||||
include_directories ( ${CMAKE_CURRENT_SOURCE_DIR}/core/inc )
|
||||
include_directories ( ${CMAKE_CURRENT_SOURCE_DIR}/libamdhsacode )
|
||||
include_directories ( ${HSAKMT_BUILD_INC_PATH})
|
||||
|
||||
link_directories ( ${HSAKMT_BUILD_LIB_PATH} )
|
||||
|
||||
if ( DEFINED BUILDID )
|
||||
add_definitions ( -DROCR_BUILD_ID=${BUILDID} )
|
||||
else ( NOT DEFINED BUILDID )
|
||||
## get date information based on UTC - full date
|
||||
execute_process(COMMAND date --utc +%F WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE ROCR_BUILD_TIME OUTPUT_STRIP_TRAILING_WHITESPACE )
|
||||
## get commit information
|
||||
execute_process(COMMAND git rev-parse --short HEAD WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE ROCR_BUILD_COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE )
|
||||
## check dirty tree status
|
||||
execute_process(COMMAND git diff --shortstat COMMAND wc -l WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE ROCR_DIRTY_TREE OUTPUT_STRIP_TRAILING_WHITESPACE )
|
||||
set ( BUILD_ID "${ROCR_BUILD_COMMIT}.${ROCR_BUILD_TIME}.${ROCR_DIRTY_TREE}" )
|
||||
add_definitions ( -DROCR_BUILD_ID=${BUILD_ID} )
|
||||
## ROCr build internal versioning
|
||||
if ( DEFINED VERSION_BUILD )
|
||||
add_definitions ( -DROCR_BUILD_ID=${BUILD_VERSION_STRING} )
|
||||
else ()
|
||||
add_definitions ( -DROCR_BUILD_ID="${BUILD_VERSION_STRING}-unknown" )
|
||||
endif ()
|
||||
|
||||
## ------------------------- Linux Compiler and Linker options -------------------------
|
||||
@@ -159,18 +146,14 @@ set ( SRCS "core/util/lnx/os_linux.cpp"
|
||||
"libamdhsacode/amd_hsa_code_util.cpp"
|
||||
"libamdhsacode/amd_hsa_locks.cpp"
|
||||
"libamdhsacode/amd_options.cpp"
|
||||
"libamdhsacode/amd_hsa_code.cpp"
|
||||
"libamdhsacode/amd_hsa_code.cpp"
|
||||
)
|
||||
|
||||
add_library( ${CORE_RUNTIME_TARGET} SHARED ${SRCS} )
|
||||
link_directories ( ${HSAKMT_BUILD_LIB_PATH} )
|
||||
|
||||
## Set the VERSION and SOVERSION values
|
||||
if ( DEFINED VERSION_STRING )
|
||||
set_property ( TARGET ${CORE_RUNTIME_TARGET} PROPERTY VERSION "${RUNTIME_VERSION_STRING}" )
|
||||
endif ()
|
||||
|
||||
set_property ( TARGET ${CORE_RUNTIME_TARGET} PROPERTY SOVERSION "${RUNTIME_VERSION_MAJOR}" )
|
||||
set_property ( TARGET ${CORE_RUNTIME_TARGET} PROPERTY VERSION "${LIB_VERSION_STRING}" )
|
||||
set_property ( TARGET ${CORE_RUNTIME_TARGET} PROPERTY SOVERSION "${BUILD_VERSION_MAJOR}" )
|
||||
|
||||
target_link_libraries ( ${CORE_RUNTIME_TARGET}
|
||||
PRIVATE hsakmt
|
||||
@@ -182,33 +165,33 @@ if ( "${CMAKE_BUILD_TYPE}" STREQUAL Release )
|
||||
add_custom_command ( TARGET ${CORE_RUNTIME_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so )
|
||||
endif ()
|
||||
|
||||
## Create symlinks for packaging and install
|
||||
add_custom_target ( ${CORE_RUNTIME_COMPONENT} ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../hsa/include/hsa hsa-link )
|
||||
add_custom_target ( ${CORE_RUNTIME_COMPONENT}.so-link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../hsa/lib/${CORE_RUNTIME_COMPONENT}.so ${CORE_RUNTIME_COMPONENT}.so-link )
|
||||
|
||||
## Set install information
|
||||
install ( TARGETS ${CORE_RUNTIME_TARGET} LIBRARY DESTINATION lib COMPONENT ${CORE_RUNTIME_COMPONENT} )
|
||||
install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION include/hsa )
|
||||
install ( TARGETS ${CORE_RUNTIME_TARGET} LIBRARY DESTINATION hsa/lib COMPONENT ${CORE_RUNTIME_COMPONENT} )
|
||||
install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION hsa/include/hsa )
|
||||
install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/hsa-link DESTINATION include PERMISSIONS OWNER_WRITE OWNER_READ RENAME hsa )
|
||||
install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_COMPONENT}.so-link DESTINATION lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_COMPONENT}.so )
|
||||
|
||||
## Packaging directives
|
||||
set ( CPACK_PACKAGE_NAME "hsa-rocr-dev" )
|
||||
set ( CPACK_PACKAGE_VENDOR "AMD" )
|
||||
set ( CPACK_PACKAGE_VERSION_MAJOR ${PACKAGE_VERSION_MAJOR} )
|
||||
set ( CPACK_PACKAGE_VERSION_MINOR ${PACKAGE_VERSION_MINOR} )
|
||||
set ( CPACK_PACKAGE_VERSION_PATCH ${PACKAGE_VERSION_PATCH} )
|
||||
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 "AMD Heterogeneous System Architecture HSA - Linux HSA Runtime for Boltzmann (ROCm) platforms" )
|
||||
set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md" )
|
||||
|
||||
## Set dependency strings
|
||||
set ( HSAKMT_ROCT_DEV_DEPS "" )
|
||||
if ( DEFINED HSAKMT_VERSION_STRING )
|
||||
set ( HSAKMT_ROCT_DEV_DEPS " (=${HSAKMT_VERSION_STRING})" )
|
||||
endif ()
|
||||
|
||||
# Debian package specific variables
|
||||
set ( CPACK_DEBIAN_PACKAGE_DEPENDS "hsakmt-roct-dev${HSAKMT_ROCT_DEV_DEPS}" )
|
||||
set ( CPACK_DEBIAN_PACKAGE_DEPENDS "hsakmt-roct-dev" )
|
||||
set ( CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/RadeonOpenCompute/ROCR-Runtime" )
|
||||
set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm" )
|
||||
|
||||
## RPM package specific variables
|
||||
set ( CPACK_RPM_PACKAGE_DEPENDS "hsakmt-roct-dev${HSAKMT_ROCT_DEV_DEPS}" )
|
||||
set ( CPACK_RPM_PACKAGE_DEPENDS "hsakmt-roct-dev" )
|
||||
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" )
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
## The University of Illinois/NCSA
|
||||
## Open Source License (NCSA)
|
||||
##
|
||||
## Copyright (c) 2014-2016, Advanced Micro Devices, Inc. All rights reserved.
|
||||
## Copyright (c) 2014-2017, Advanced Micro Devices, Inc. All rights reserved.
|
||||
##
|
||||
## Developed by:
|
||||
##
|
||||
@@ -41,31 +41,76 @@
|
||||
################################################################################
|
||||
|
||||
## Parses the VERSION_STRING variable and places
|
||||
## the first, second and third number values in
|
||||
## the first, second and third number values in
|
||||
## the major, minor and patch variables.
|
||||
function(parse_version VERSION_STRING)
|
||||
function( parse_version VERSION_STRING )
|
||||
|
||||
string(REGEX MATCHALL "[0123456789]+" VERSIONS ${VERSION_STRING})
|
||||
list(LENGTH VERSIONS VERSION_COUNT)
|
||||
string ( FIND ${VERSION_STRING} "-" STRING_INDEX )
|
||||
|
||||
if (${VERSION_COUNT} GREATER 0)
|
||||
list(GET VERSIONS 0 MAJOR)
|
||||
set(VERSION_MAJOR ${MAJOR} PARENT_SCOPE)
|
||||
set(TEMP_VERSION_STRING "${MAJOR}")
|
||||
if ( ${STRING_INDEX} GREATER -1 )
|
||||
math ( EXPR STRING_INDEX "${STRING_INDEX} + 1" )
|
||||
string ( SUBSTRING ${VERSION_STRING} ${STRING_INDEX} -1 VERSION_BUILD )
|
||||
endif ()
|
||||
|
||||
if (${VERSION_COUNT} GREATER 1)
|
||||
list(GET VERSIONS 1 MINOR)
|
||||
set(VERSION_MINOR ${MINOR} PARENT_SCOPE)
|
||||
set(TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${MINOR}")
|
||||
string ( REGEX MATCHALL "[0123456789]+" VERSIONS ${VERSION_STRING} )
|
||||
list (LENGTH VERSIONS VERSION_COUNT )
|
||||
|
||||
if ( ${VERSION_COUNT} GREATER 0)
|
||||
list ( GET VERSIONS 0 MAJOR )
|
||||
set ( VERSION_MAJOR ${MAJOR} PARENT_SCOPE )
|
||||
set ( TEMP_VERSION_STRING "${MAJOR}" )
|
||||
endif ()
|
||||
|
||||
if (${VERSION_COUNT} GREATER 2)
|
||||
list(GET VERSIONS 2 PATCH)
|
||||
set(VERSION_PATCH ${PATCH} PARENT_SCOPE)
|
||||
set(TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${PATCH}")
|
||||
if ( ${VERSION_COUNT} GREATER 1 )
|
||||
list ( GET VERSIONS 1 MINOR )
|
||||
set ( VERSION_MINOR ${MINOR} PARENT_SCOPE )
|
||||
set ( TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${MINOR}" )
|
||||
endif ()
|
||||
|
||||
set(VERSION_STRING "${TEMP_VERSION_STRING}" PARENT_SCOPE)
|
||||
if ( ${VERSION_COUNT} GREATER 2 )
|
||||
list ( GET VERSIONS 2 PATCH )
|
||||
set ( VERSION_PATCH ${PATCH} PARENT_SCOPE )
|
||||
set ( TEMP_VERSION_STRING "${TEMP_VERSION_STRING}.${PATCH}" )
|
||||
endif ()
|
||||
|
||||
if (DEFINED VERSION_BUILD )
|
||||
set ( VERSION_BUILD "${VERSION_BUILD}" PARENT_SCOPE )
|
||||
endif ()
|
||||
|
||||
set ( VERSION_STRING "${TEMP_VERSION_STRING}" PARENT_SCOPE )
|
||||
|
||||
endfunction ()
|
||||
|
||||
## Gets the current version of the repository
|
||||
## using versioning tags and git describe.
|
||||
## Passes back a packaging version string
|
||||
## and a library version string.
|
||||
function ( get_version DEFAULT_VERSION_STRING )
|
||||
|
||||
parse_version ( ${DEFAULT_VERSION_STRING} )
|
||||
|
||||
find_program ( GIT NAMES git )
|
||||
|
||||
if ( GIT )
|
||||
|
||||
execute_process ( COMMAND git describe --dirty --long --match [0-9]*
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_TAG_STRING
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
RESULT_VARIABLE RESULT )
|
||||
|
||||
if ( ${RESULT} EQUAL 0 )
|
||||
|
||||
parse_version ( ${GIT_TAG_STRING} )
|
||||
|
||||
endif ()
|
||||
|
||||
endif ()
|
||||
|
||||
set( VERSION_STRING "${VERSION_STRING}" PARENT_SCOPE )
|
||||
set( VERSION_MAJOR "${VERSION_MAJOR}" PARENT_SCOPE )
|
||||
set( VERSION_MINOR "${VERSION_MINOR}" PARENT_SCOPE )
|
||||
set( VERSION_PATCH "${VERSION_PATCH}" PARENT_SCOPE )
|
||||
set( VERSION_BUILD "${VERSION_BUILD}" PARENT_SCOPE )
|
||||
|
||||
endfunction()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
## The University of Illinois/NCSA
|
||||
## Open Source License (NCSA)
|
||||
##
|
||||
## Copyright (c) 2014-2016, Advanced Micro Devices, Inc. All rights reserved.
|
||||
## Copyright (c) 2014-2017, Advanced Micro Devices, Inc. All rights reserved.
|
||||
##
|
||||
## Developed by:
|
||||
##
|
||||
@@ -40,42 +40,36 @@
|
||||
##
|
||||
################################################################################
|
||||
|
||||
cmake_minimum_required(VERSION 3.5.1)
|
||||
cmake_minimum_required ( VERSION 3.5.0 )
|
||||
|
||||
## Verbose output.
|
||||
set ( CMAKE_VERBOSE_MAKEFILE on )
|
||||
|
||||
## Set the name and project name.
|
||||
set ( PROJECT_STRING hsa-ext-rocr-dev )
|
||||
project ( ${PROJECT_STRING} )
|
||||
|
||||
project( ${PROJECT_STRING} )
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${HSA_OPENSOURCE_ROOT}/cmake_modules")
|
||||
|
||||
list ( APPEND CMAKE_MODULE_PATH "${HSA_OPENSOURCE_ROOT}/cmake_modules" )
|
||||
include ( utils )
|
||||
|
||||
if(NOT DEFINED VERSION_STRING)
|
||||
set (VERSION_STRING "1.0.0")
|
||||
endif()
|
||||
## Get the package version. The defaults to 1.0.0.
|
||||
get_version ( "1.0.0" )
|
||||
|
||||
parse_version(${VERSION_STRING})
|
||||
|
||||
set ( PACKAGE_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( PACKAGE_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( PACKAGE_VERSION_PATCH ${VERSION_PATCH} )
|
||||
|
||||
if(NOT DEFINED RUNTIME_VERSION_STRING)
|
||||
set (RUNTIME_VERSION_STRING "1.0.0")
|
||||
set ( BUILD_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( BUILD_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( BUILD_VERSION_PATCH ${VERSION_PATCH} )
|
||||
set ( LIB_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
if ( DEFINED VERSION_BUILD )
|
||||
set ( BUILD_VERSION_PATCH "${BUILD_VERSION_PATCH}-${VERSION_BUILD}" )
|
||||
endif ()
|
||||
|
||||
parse_version(${RUNTIME_VERSION_STRING})
|
||||
|
||||
set ( RUNTIME_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( RUNTIME_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( RUNTIME_VERSION_PATCH ${VERSION_PATCH} )
|
||||
set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
|
||||
set ( PACKAGE_DIRECTORIES
|
||||
"bin"
|
||||
"hsa/bin"
|
||||
"bin"
|
||||
"hsa/bin"
|
||||
"hsa/lib")
|
||||
|
||||
add_custom_command(OUTPUT ${PACKAGE_DIRECTORIES} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
|
||||
add_custom_command ( OUTPUT ${PACKAGE_DIRECTORIES} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND mkdir -p bin
|
||||
COMMAND mkdir -p hsa/lib
|
||||
COMMAND mkdir -p hsa/bin )
|
||||
@@ -88,55 +82,55 @@ set ( IMAGE_NAME "libhsa-ext-image64" )
|
||||
set ( AMDHSACOD_NAME "amdhsacod" )
|
||||
set ( AMDHSAFIN_NAME "amdhsafin" )
|
||||
|
||||
set ( FINALIZER_LIBRARY_SOURCE "${OUT_DIR}/lib/${FINALIZER_NAME}.so.${RUNTIME_VERSION_STRING}" )
|
||||
set ( TOOLS_LIBRARY_SOURCE "${OUT_DIR}/lib/${TOOLS_NAME}.so.${RUNTIME_VERSION_STRING}" )
|
||||
set ( IMAGE_LIBRARY_SOURCE "${OUT_DIR}/lib/${IMAGE_NAME}.so.${RUNTIME_VERSION_STRING}" )
|
||||
set ( FINALIZER_LIBRARY_SOURCE "${OUT_DIR}/lib/${FINALIZER_NAME}.so.${LIB_VERSION_STRING}" )
|
||||
set ( TOOLS_LIBRARY_SOURCE "${OUT_DIR}/lib/${TOOLS_NAME}.so.${LIB_VERSION_STRING}" )
|
||||
set ( IMAGE_LIBRARY_SOURCE "${OUT_DIR}/lib/${IMAGE_NAME}.so.${LIB_VERSION_STRING}" )
|
||||
set ( AMDHSACOD_SOURCE "${OUT_DIR}/bin/${AMDHSACOD_NAME}" )
|
||||
set ( AMDHSAFIN_SOURCE "${OUT_DIR}/bin/${AMDHSAFIN_NAME}" )
|
||||
|
||||
set ( FINALIZER_LIBRARY_TARGET "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${FINALIZER_NAME}.so.${RUNTIME_VERSION_STRING}" )
|
||||
set ( TOOLS_LIBRARY_TARGET "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${TOOLS_NAME}.so.${RUNTIME_VERSION_STRING}" )
|
||||
set ( IMAGE_LIBRARY_TARGET "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${IMAGE_NAME}.so.${RUNTIME_VERSION_STRING}" )
|
||||
set ( FINALIZER_LIBRARY_TARGET "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${FINALIZER_NAME}.so.${LIB_VERSION_STRING}" )
|
||||
set ( TOOLS_LIBRARY_TARGET "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${TOOLS_NAME}.so.${LIB_VERSION_STRING}" )
|
||||
set ( IMAGE_LIBRARY_TARGET "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${IMAGE_NAME}.so.${LIB_VERSION_STRING}" )
|
||||
set ( AMDHSACOD_TARGET "${CMAKE_CURRENT_BINARY_DIR}/hsa/bin/${AMDHSACOD_NAME}" )
|
||||
set ( AMDHSAFIN_TARGET "${CMAKE_CURRENT_BINARY_DIR}/hsa/bin/${AMDHSAFIN_NAME}" )
|
||||
|
||||
set ( FINALIZER_LIBRARY_SONAME "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${FINALIZER_NAME}.so.${RUNTIME_VERSION_MAJOR}" )
|
||||
set ( TOOLS_LIBRARY_SONAME "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${TOOLS_NAME}.so.${RUNTIME_VERSION_MAJOR}" )
|
||||
set ( IMAGE_LIBRARY_SONAME "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${IMAGE_NAME}.so.${RUNTIME_VERSION_MAJOR}" )
|
||||
set ( FINALIZER_LIBRARY_SONAME "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${FINALIZER_NAME}.so.${BUILD_VERSION_MAJOR}" )
|
||||
set ( TOOLS_LIBRARY_SONAME "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${TOOLS_NAME}.so.${BUILD_VERSION_MAJOR}" )
|
||||
set ( IMAGE_LIBRARY_SONAME "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${IMAGE_NAME}.so.${BUILD_VERSION_MAJOR}" )
|
||||
set ( AMDHSACOD_LINK "${CMAKE_CURRENT_BINARY_DIR}/bin/${AMDHSACOD_NAME}" )
|
||||
set ( AMDHSAFIN_LINK "${CMAKE_CURRENT_BINARY_DIR}/bin/${AMDHSAFIN_NAME}" )
|
||||
|
||||
add_custom_command(OUTPUT ${FINALIZER_LIBRARY_TARGET} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${FINALIZER_LIBRARY_SOURCE} ${FINALIZER_LIBRARY_TARGET})
|
||||
add_custom_command ( OUTPUT ${FINALIZER_LIBRARY_TARGET} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${FINALIZER_LIBRARY_SOURCE} ${FINALIZER_LIBRARY_TARGET} )
|
||||
|
||||
add_custom_command(OUTPUT ${TOOLS_LIBRARY_TARGET} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${TOOLS_LIBRARY_SOURCE} ${TOOLS_LIBRARY_TARGET})
|
||||
add_custom_command ( OUTPUT ${TOOLS_LIBRARY_TARGET} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${TOOLS_LIBRARY_SOURCE} ${TOOLS_LIBRARY_TARGET} )
|
||||
|
||||
add_custom_command(OUTPUT ${IMAGE_LIBRARY_TARGET} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${IMAGE_LIBRARY_SOURCE} ${IMAGE_LIBRARY_TARGET})
|
||||
add_custom_command ( OUTPUT ${IMAGE_LIBRARY_TARGET} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${IMAGE_LIBRARY_SOURCE} ${IMAGE_LIBRARY_TARGET} )
|
||||
|
||||
add_custom_command(OUTPUT ${AMDHSACOD_TARGET} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${AMDHSACOD_SOURCE} ${AMDHSACOD_TARGET})
|
||||
add_custom_command ( OUTPUT ${AMDHSACOD_TARGET} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${AMDHSACOD_SOURCE} ${AMDHSACOD_TARGET} )
|
||||
|
||||
add_custom_command(OUTPUT ${AMDHSAFIN_TARGET} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${AMDHSAFIN_SOURCE} ${AMDHSAFIN_TARGET})
|
||||
add_custom_command ( OUTPUT ${AMDHSAFIN_TARGET} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${AMDHSAFIN_SOURCE} ${AMDHSAFIN_TARGET} )
|
||||
|
||||
add_custom_command(OUTPUT ${FINALIZER_LIBRARY_SONAME} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/hsa/lib
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ${FINALIZER_NAME}.so.${VERSION_STRING} ${FINALIZER_NAME}.so.${RUNTIME_VERSION_MAJOR} )
|
||||
add_custom_command ( OUTPUT ${FINALIZER_LIBRARY_SONAME} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/hsa/lib
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ${FINALIZER_NAME}.so.${VERSION_STRING} ${FINALIZER_NAME}.so.${RUNTIME_VERSION_MAJOR} )
|
||||
|
||||
add_custom_command(OUTPUT ${TOOLS_LIBRARY_SONAME} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/hsa/lib
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ${TOOLS_NAME}.so.${VERSION_STRING} ${TOOLS_NAME}.so.${RUNTIME_VERSION_MAJOR} )
|
||||
add_custom_command ( OUTPUT ${TOOLS_LIBRARY_SONAME} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/hsa/lib
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ${TOOLS_NAME}.so.${VERSION_STRING} ${TOOLS_NAME}.so.${RUNTIME_VERSION_MAJOR} )
|
||||
|
||||
add_custom_command(OUTPUT ${IMAGE_LIBRARY_SONAME} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/hsa/lib
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ${IMAGE_NAME}.so.${VERSION_STRING} ${IMAGE_NAME}.so.${RUNTIME_VERSION_MAJOR} )
|
||||
add_custom_command ( OUTPUT ${IMAGE_LIBRARY_SONAME} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/hsa/lib
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ${IMAGE_NAME}.so.${VERSION_STRING} ${IMAGE_NAME}.so.${RUNTIME_VERSION_MAJOR} )
|
||||
|
||||
add_custom_command(OUTPUT ${AMDHSACOD_LINK} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ../hsa/bin/${AMDHSACOD_NAME} ${AMDHSACOD_NAME} )
|
||||
add_custom_command ( OUTPUT ${AMDHSACOD_LINK} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ../hsa/bin/${AMDHSACOD_NAME} ${AMDHSACOD_NAME} )
|
||||
|
||||
add_custom_command(OUTPUT ${AMDHSAFIN_LINK} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ../hsa/bin/${AMDHSAFIN_NAME} ${AMDHSAFIN_NAME} )
|
||||
add_custom_command ( OUTPUT ${AMDHSAFIN_LINK} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink ../hsa/bin/${AMDHSAFIN_NAME} ${AMDHSAFIN_NAME} )
|
||||
|
||||
add_custom_target (copy_targets ALL DEPENDS create_dirs
|
||||
add_custom_target ( copy_targets ALL DEPENDS create_dirs
|
||||
${FINALIZER_LIBRARY_TARGET}
|
||||
${TOOLS_LIBRARY_TARGET}
|
||||
${IMAGE_LIBRARY_TARGET}
|
||||
@@ -149,14 +143,14 @@ add_custom_target (copy_targets ALL DEPENDS create_dirs
|
||||
${AMDHSAFIN_LINK}
|
||||
)
|
||||
|
||||
install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin/ DESTINATION bin USE_SOURCE_PERMISSIONS )
|
||||
install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/hsa/ DESTINATION hsa USE_SOURCE_PERMISSIONS )
|
||||
install ( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin/ DESTINATION bin USE_SOURCE_PERMISSIONS )
|
||||
install ( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/hsa/ DESTINATION hsa USE_SOURCE_PERMISSIONS )
|
||||
|
||||
set ( CPACK_PACKAGE_NAME ${PROJECT_NAME} )
|
||||
set ( CPACK_PACKAGE_VENDOR "AMD" )
|
||||
set ( CPACK_PACKAGE_VERSION_MAJOR ${PACKAGE_VERSION_MAJOR} )
|
||||
set ( CPACK_PACKAGE_VERSION_MINOR ${PACKAGE_VERSION_MINOR} )
|
||||
set ( CPACK_PACKAGE_VERSION_PATCH ${PACKAGE_VERSION_PATCH} )
|
||||
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 "James Edwards (JamesAdrian.Edwards@amd.com)" )
|
||||
set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD Heterogeneous System Architecture HSA - Linux HSA Runtime extensions for ROCm platforms" )
|
||||
set ( CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/description" )
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
## The University of Illinois/NCSA
|
||||
## Open Source License (NCSA)
|
||||
##
|
||||
## Copyright (c) 2014-2016, Advanced Micro Devices, Inc. All rights reserved.
|
||||
## Copyright (c) 2014-2017, Advanced Micro Devices, Inc. All rights reserved.
|
||||
##
|
||||
## Developed by:
|
||||
##
|
||||
@@ -40,51 +40,35 @@
|
||||
##
|
||||
################################################################################
|
||||
|
||||
cmake_minimum_required(VERSION 3.5.1)
|
||||
cmake_minimum_required ( VERSION 3.5.0 )
|
||||
|
||||
## Verbose output.
|
||||
set ( CMAKE_VERBOSE_MAKEFILE on )
|
||||
|
||||
## Set the name and project name.
|
||||
set ( PROJECT_STRING hsa-rocr-dev )
|
||||
|
||||
project( ${PROJECT_STRING} )
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${HSA_OPENSOURCE_ROOT}/cmake_modules")
|
||||
|
||||
list ( APPEND CMAKE_MODULE_PATH "${HSA_OPENSOURCE_ROOT}/cmake_modules" )
|
||||
include ( utils )
|
||||
|
||||
if(NOT DEFINED VERSION_STRING)
|
||||
set (VERSION_STRING "1.0.0")
|
||||
endif()
|
||||
## Get the package version. The defaults to 1.0.0.
|
||||
get_version ( "1.0.0" )
|
||||
|
||||
parse_version(${VERSION_STRING})
|
||||
|
||||
set ( PROJECT_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( PROJECT_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( PROJECT_VERSION_PATCH ${VERSION_PATCH} )
|
||||
|
||||
if(NOT DEFINED RUNTIME_VERSION_STRING)
|
||||
set (RUNTIME_VERSION_STRING "1.0.0")
|
||||
set ( BUILD_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( BUILD_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( BUILD_VERSION_PATCH ${VERSION_PATCH} )
|
||||
set ( LIB_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
if ( DEFINED VERSION_BUILD )
|
||||
set ( BUILD_VERSION_PATCH "${BUILD_VERSION_PATCH}-${VERSION_BUILD}" )
|
||||
endif ()
|
||||
set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" )
|
||||
|
||||
parse_version(${RUNTIME_VERSION_STRING})
|
||||
|
||||
set ( RUNTIME_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( RUNTIME_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( RUNTIME_VERSION_PATCH ${VERSION_PATCH} )
|
||||
|
||||
if(NOT DEFINED HSAKMT_VERSION_STRING)
|
||||
set (HSAKMT_VERSION_STRING "2.0.1")
|
||||
endif ()
|
||||
|
||||
parse_version(${HSAKMT_VERSION_STRING})
|
||||
|
||||
set ( HSAKMT_VERSION_MAJOR ${VERSION_MAJOR} )
|
||||
set ( HSAKMT_VERSION_MINOR ${VERSION_MINOR} )
|
||||
set ( HSAKMT_VERSION_PATCH ${VERSION_PATCH} )
|
||||
|
||||
## Define the runtime components
|
||||
set ( RUNTIME_NAME "libhsa-runtime64" )
|
||||
|
||||
set ( RUNTIME_LIBRARY_SOURCE "${OUT_DIR}/lib/${RUNTIME_NAME}.so.${RUNTIME_VERSION_STRING}" )
|
||||
set ( RUNTIME_LIBRARY_TARGET "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${RUNTIME_NAME}.so.${RUNTIME_VERSION_STRING}" )
|
||||
set ( RUNTIME_LIBRARY_SONAME "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${RUNTIME_NAME}.so.${RUNTIME_VERSION_MAJOR}" )
|
||||
set ( RUNTIME_LIBRARY_SOURCE "${OUT_DIR}/lib/${RUNTIME_NAME}.so.${LIB_VERSION_STRING}" )
|
||||
set ( RUNTIME_LIBRARY_TARGET "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${RUNTIME_NAME}.so.${LIB_VERSION_STRING}" )
|
||||
set ( RUNTIME_LIBRARY_SONAME "${CMAKE_CURRENT_BINARY_DIR}/hsa/lib/${RUNTIME_NAME}.so.${BUILD_VERSION_MAJOR}" )
|
||||
set ( RUNTIME_LIBRARY_LINKNAME "${CMAKE_CURRENT_BINARY_DIR}/lib/${RUNTIME_NAME}.so" )
|
||||
|
||||
set ( PACKAGE_DIRECTORIES
|
||||
@@ -182,21 +166,21 @@ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.md DESTINATION hsa )
|
||||
## Packaging directives
|
||||
set ( CPACK_PACKAGE_NAME ${PROJECT_NAME} )
|
||||
set ( CPACK_PACKAGE_VENDOR "AMD" )
|
||||
set ( CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR} )
|
||||
set ( CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR} )
|
||||
set ( CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH} )
|
||||
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 "James Edwards (JamesAdrian.Edwards@amd.com)" )
|
||||
set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD Heterogeneous System Architecture HSA - Linux HSA Runtime for 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 "hsa-ext-rocr-dev (=${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}), hsakmt-roct-dev (=${HSAKMT_VERSION_STRING})" )
|
||||
set ( CPACK_DEBIAN_PACKAGE_DEPENDS "hsa-ext-rocr-dev (=${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}) , hsakmt-roct-dev" )
|
||||
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_DEPENDS "hsa-ext-rocr-dev (=${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}), hsakmt-roct-dev (=${HSAKMT_VERSION_STRING})" )
|
||||
set ( CPACK_RPM_PACKAGE_DEPENDS "hsa-ext-rocr-dev (=${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}), hsakmt-roct-dev" )
|
||||
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" )
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user