summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2021-05-10 18:56:45 +0200
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2021-05-10 18:56:45 +0200
commitc823cd3d70f60986a9f12cbb8143b4049b9ea496 (patch)
treed57463b0d5091c7eeaf726e5a6fe44c3a502b0e0
parent3456b747b6381f17d48629dd8fdd4d511e739b10 (diff)
downloadlibwnck-c823cd3d70f60986a9f12cbb8143b4049b9ea496.tar.gz
build: Support new GNOME versioning schema
alpha, beta and rc releases can will be exposed source side as: major: MAJOR_VERSION-1 minor: 99-MINOR_VERSION_LEVEL micro: MICRO_VERSION So that: 40.alpha => 39.97.0 40.alpha.1 => 39.97.1 40.beta => 39.98.0 40.beta.1 => 39.98.1 40.rc => 39.99.0 40.rc.1 => 39.99.1 40.0 => 40.0.0 40.1 => 40.1.0
-rw-r--r--libwnck/meson.build26
1 files changed, 23 insertions, 3 deletions
diff --git a/libwnck/meson.build b/libwnck/meson.build
index 04f30d6..eef9de5 100644
--- a/libwnck/meson.build
+++ b/libwnck/meson.build
@@ -4,9 +4,29 @@ libwnck_includedir = join_paths(PACKAGE_NAME, meson.project_name())
version_data = configuration_data()
version_array = meson.project_version().split('.')
-version_data.set('WNCK_MAJOR_VERSION', version_array[0])
-version_data.set('WNCK_MINOR_VERSION', version_array[1])
-version_data.set('WNCK_MICRO_VERSION', version_array[2])
+
+major_version = version_array[0].to_int()
+minor_version = version_array[1]
+micro_version = (version_array.length() == 3) ? version_array[2].to_int() : 0
+
+if minor_version == 'alpha'
+ minor_version = 97
+elif minor_version == 'beta'
+ minor_version = 98
+elif minor_version == 'rc'
+ minor_version = 99
+else
+ # Ensure that only numbers are expected in this case
+ minor_version = minor_version.to_int()
+endif
+
+if minor_version >= 97
+ major_version = major_version - 1
+endif
+
+version_data.set('WNCK_MAJOR_VERSION', major_version)
+version_data.set('WNCK_MINOR_VERSION', minor_version)
+version_data.set('WNCK_MICRO_VERSION', micro_version)
headers = [
'libwnck.h',