1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2024-12-25 09:39:52 +03:00

Add BUILD_NUMBER option to CMake and version.py script

The BUILD_NUMBER option controls the last part of the version, allowing us to increase it for each build.

This commit also adds version.py, which simply prints the version (e.g. "5.01") specified in CMakeLists.txt.

The script will be used to determine the build number.
This commit is contained in:
Davide Beatrici 2021-02-19 21:05:43 +01:00
parent d53f80bfa6
commit 272ec5a8ef
2 changed files with 35 additions and 1 deletions

View File

@ -1,7 +1,13 @@
cmake_minimum_required(VERSION 3.7)
set(BUILD_NUMBER CACHE STRING "The number of the current build.")
if ("${BUILD_NUMBER}" STREQUAL "")
set(BUILD_NUMBER "0")
endif()
project("SoftEther VPN"
VERSION 5.01.9674
VERSION "5.01.${BUILD_NUMBER}"
LANGUAGES C
)

28
version.py Normal file
View File

@ -0,0 +1,28 @@
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--newline', action = 'store_true', help = 'Break line after printing version')
args = parser.parse_args()
end = None if args.newline else ''
version = None
with open('CMakeLists.txt', 'r') as file:
for line in file:
if 'VERSION "' in line and '.${BUILD_NUMBER}"' in line:
line = line.replace('VERSION "', '')
line = line[0 : line.find('.${BUILD_NUMBER}"')].strip()
version = line
break
if version is None:
raise Exception('Unable to read version from CMakeLists.txt')
if len(version) == 0 or not '.' in version:
raise Exception('Bad version: "{0}"'.format(version))
print(version, end = end)
if __name__ == '__main__':
main()