File: ProjectVersion.cmake

package info (click to toggle)
gsad 24.12.2-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,796 kB
  • sloc: ansic: 22,523; xml: 118; makefile: 10
file content (47 lines) | stat: -rw-r--r-- 1,666 bytes parent folder | download
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}"
)