diff --git a/CMakeLists.txt b/CMakeLists.txt index 3d9202fb5f..a5c17ba18a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,30 +51,22 @@ set( CMAKE_VERBOSE_MAKEFILE on ) include( utils.cmake ) include( GNUInstallDirs ) +#Parse Version +message( STATUS "ROCM_VERSION = ${ROCM_VERSION}" ) +parse_rocm_version( ${ROCM_VERSION} ) + set( CPACK_PACKAGING_INSTALL_PREFIX "/opt/rocm" CACHE PATH "default cpack directory" ) set( BUILD_SHARED_LIBS ON CACHE BOOL "Build shared library (.so) or not." ) set( CPACK_GENERATOR "TGZ;DEB;RPM" CACHE STRING "package types to be produced " ) set( COPYRIGHT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/copyright" ) set( BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR} ) -if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/rocm_version.h.in ) - file( READ "${CMAKE_CURRENT_SOURCE_DIR}/rocm_version.h.in" VER ) - - string( REGEX MATCH "ROCM_VERSION_MAJOR ([0-9]*)" _ ${VER} ) - set( ROCM_VERSION ${CMAKE_MATCH_1} ) - string( REGEX MATCH "ROCM_VERSION_MINOR ([0-9]*)" _ ${VER} ) - set( ROCM_VERSION "${ROCM_VERSION}.${CMAKE_MATCH_1}" ) - string( REGEX MATCH "ROCM_VERSION_PATCH ([0-9]*)" _ ${VER} ) - set( ROCM_VERSION "${ROCM_VERSION}.${CMAKE_MATCH_1}" ) - message( STATUS "ROCM_VERSION = ${ROCM_VERSION}" ) -else() - message( FATAL_ERROR "${CMAKE_CURRENT_SOURCE_DIR}/rocm_version.h.in does not exists." ) -endif() - -## Set the version -parse_rocm_version( ${ROCM_VERSION} ) +## Set variables set_variables() +set( SO_MAJOR "1") +set( SO_MINOR "0" ) + if( NOT DEFINED BUILD_ID ) set( BUILD_ID "9999") endif() @@ -97,10 +89,9 @@ set( CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-Wl,-z,nodelete -Wl target_include_directories( ${CORE_TARGET} PRIVATE ${BUILD_DIR} ) ## Set the VERSION and SOVERSION values -set( PATCH_STRING "${VERSION_PATCH}.${ROCM_LIBPATCH_VERSION}" ) -set( SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${PATCH_STRING}" ) +set( SO_VERSION_STRING "${SO_MAJOR}.${SO_MINOR}.${ROCM_LIBPATCH_VERSION}" ) set_property( TARGET ${CORE_TARGET} PROPERTY VERSION "${SO_VERSION_STRING}" ) -set_property( TARGET ${CORE_TARGET} PROPERTY SOVERSION "${VERSION_MAJOR}" ) +set_property( TARGET ${CORE_TARGET} PROPERTY SOVERSION "${SO_MAJOR}" ) #intallation directive diff --git a/README.txt b/README.txt index e0e2a7e27d..42581aa1b1 100644 --- a/README.txt +++ b/README.txt @@ -14,6 +14,9 @@ For building : -DCMAKE_VERBOSE_MAKEFILE=1 \ -DCMAKE_INSTALL_PREFIX=./ \ -DCPACK_GENERATOR=DEB \ + -DCPACK_DEBIAN_PACKAGE_RELEASE="local.9999~20.04" \ + -DCPACK_RPM_PACKAGE_RELEASE="local.9999" \ + -DROCM_VERSION="5.5.0" \ .. make diff --git a/rocm_version.h.in b/rocm_version.h.in index 03539232be..869541ae11 100644 --- a/rocm_version.h.in +++ b/rocm_version.h.in @@ -53,10 +53,10 @@ extern "C" { #define LIB_API_PUBLIC __attribute__ ((visibility ("default"))) +#define ROCM_VERSION_MAJOR @VERSION_MAJOR@ +#define ROCM_VERSION_MINOR @VERSION_MINOR@ +#define ROCM_VERSION_PATCH @VERSION_PATCH@ -#define ROCM_VERSION_MAJOR 1 -#define ROCM_VERSION_MINOR 0 -#define ROCM_VERSION_PATCH 0 #define ROCM_BUILD_INFO "@PACKAGE_BUILD_INFO@" typedef enum { diff --git a/utils.cmake b/utils.cmake index d3431590e7..13fa9b8a17 100644 --- a/utils.cmake +++ b/utils.cmake @@ -128,6 +128,26 @@ function( set_variables ) endif() endif() + #set libpatch version + if(NOT DEFINED ROCM_LIBPATCH_VERSION) + set(ROCM_LIBPATCH_VERSION "${VERSION_MAJOR}") + string(LENGTH ${VERSION_MINOR} LENSTR) + if(LENSTR EQUAL 1) # length of version cannot be zero hence it would be 1 or greater + set(ROCM_LIBPATCH_VERSION "${ROCM_LIBPATCH_VERSION}0${VERSION_MINOR}") + else() # length is greater than 1 + set(ROCM_LIBPATCH_VERSION "${ROCM_LIBPATCH_VERSION}${VERSION_MINOR}") + endif() + + string(LENGTH ${VERSION_PATCH} LENSTR) + if(LENSTR EQUAL 1) # length of version cannot be zero hence it would be 1 or greater + set(ROCM_LIBPATCH_VERSION "${ROCM_LIBPATCH_VERSION}0${VERSION_PATCH}") + else() # length is greater than 1 + set(ROCM_LIBPATCH_VERSION "${ROCM_LIBPATCH_VERSION}${VERSION_PATCH}") + endif() + + set(ROCM_LIBPATCH_VERSION "${ROCM_LIBPATCH_VERSION}" PARENT_SCOPE ) + endif() + if ( DEFINED CPACK_RPM_PACKAGE_RELEASE ) set ( CPACK_RPM_PACKAGE_RELEASE ${CPACK_RPM_PACKAGE_RELEASE} PARENT_SCOPE ) else() @@ -146,6 +166,7 @@ function( set_variables ) message(STATUS "VERSION_MAJOR : ${VERSION_MAJOR}" ) message(STATUS "VERSION_MINOR : ${VERSION_MINOR}" ) message(STATUS "VERSION_PATCH : ${VERSION_PATCH}" ) + message(STATUS "ROCM_LIBPATCH_VERSION : ${ROCM_LIBPATCH_VERSION}" ) message(STATUS "VERSION_COMMIT_COUNT : ${VERSION_COMMIT_COUNT}" ) message(STATUS "VERSION_HASH : ${VERSION_HASH}" ) message(STATUS "CPACK_DEBIAN_PACKAGE_RELEASE : ${CPACK_DEBIAN_PACKAGE_RELEASE}" )