1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
# Copyright (C) 2020-2021 Greenbone AG
#
# SPDX-License-Identifier: GPL-2.0-or-later
## Retrieve git revision (at configure time)
include(GetGit)
if(NOT CMAKE_BUILD_TYPE MATCHES "Release")
git_get_revision(${CMAKE_SOURCE_DIR} ProjectRevision)
if(DEFINED ProjectRevision)
set(GIT_REVISION "~git-${ProjectRevision}")
else()
set(GIT_REVISION "~git")
endif()
endif(NOT CMAKE_BUILD_TYPE MATCHES "Release")
if(GIT_REVISION)
set(PROJECT_VERSION_GIT "${GIT_REVISION}")
else(GIT_REVISION)
set(PROJECT_VERSION_GIT "")
endif(GIT_REVISION)
string(LENGTH ${PROJECT_VERSION_MINOR} PROJECT_VERSION_MINOR_LENGTH)
set(PROJECT_VERSION_MINOR_STRING "${PROJECT_VERSION_MINOR}")
# If PROJECT_BETA_RELEASE is set to "0", the version string will be set to:
# "major.minor+alpha"
# If PROJECT_BETA_RELEASE is set otherwise, the version string will be set to:
# "major.minor+beta${PROJECT_BETA_RELEASE}"
# If PROJECT_BETA_RELEASE is NOT set, the version string will be set to:
# "major.minor.patch"
if(DEFINED PROJECT_BETA_RELEASE AND NOT PROJECT_BETA_RELEASE STREQUAL "")
if(PROJECT_BETA_RELEASE STREQUAL "0")
set(PROJECT_VERSION_SUFFIX "+alpha")
else(PROJECT_BETA_RELEASE STREQUAL "0")
set(PROJECT_VERSION_SUFFIX "+beta${PROJECT_BETA_RELEASE}")
endif(PROJECT_BETA_RELEASE STREQUAL "0")
elseif(DEFINED PROJECT_VERSION_PATCH AND NOT PROJECT_VERSION_PATCH STREQUAL "")
set(PROJECT_VERSION_SUFFIX ".${PROJECT_VERSION_PATCH}")
endif(DEFINED PROJECT_BETA_RELEASE AND NOT PROJECT_BETA_RELEASE STREQUAL "")
set(
PROJECT_VERSION_STRING
"${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR_STRING}${PROJECT_VERSION_SUFFIX}${PROJECT_VERSION_GIT}"
)
|