From 26735d09532f3941ef72c03968638a102f4a75b3 Mon Sep 17 00:00:00 2001 From: Yixue Wang Date: Fri, 6 Jun 2025 14:20:20 +0800 Subject: [PATCH] feat: Support VERSION file Use VERSION file to manage DTK version. VERSION file defines package version. It also decides the initial value of cached variable DTK_VERSION which controls the project version in cmake build system. VERSION file is not synchronized to DTK6, as DTK6 has its own VERSION file. One can still pass version to DTK_VERSION when running cmake configure. This is helpful for developers. Signed-off-by: Yixue Wang --- .reuse/dep5 | 2 +- .syncexclude | 1 + CMakeLists.txt | 5 ++++- VERSION | 1 + archlinux/PKGBUILD | 6 ++---- debian/rules | 3 +-- 6 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 VERSION diff --git a/.reuse/dep5 b/.reuse/dep5 index c63a9aca..cc71982f 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -30,7 +30,7 @@ Copyright: None License: CC0-1.0 # cmake -Files: *.cmake *CMakeLists.txt *.pc.in, cmake/*.in misc/*.in +Files: *.cmake *CMakeLists.txt *.pc.in, cmake/*.in misc/*.in VERSION Copyright: None License: CC0-1.0 diff --git a/.syncexclude b/.syncexclude index 7b42c60d..f45bbe96 100644 --- a/.syncexclude +++ b/.syncexclude @@ -9,3 +9,4 @@ # are always ignored linglong.yaml conanfile.py +VERSION diff --git a/CMakeLists.txt b/CMakeLists.txt index bce068c9..6d4002e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,9 @@ cmake_minimum_required (VERSION 3.13) -set (DTK_VERSION "5.6.12" CACHE STRING "define project version") +file(READ "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" DTK_FILE_VERSION) +string(STRIP "${DTK_FILE_VERSION}" DTK_FILE_VERSION) +set(DTK_VERSION "${DTK_FILE_VERSION}" CACHE STRING "DTK version") + project (DtkCore VERSION ${DTK_VERSION} DESCRIPTION "DTK Core module" diff --git a/VERSION b/VERSION new file mode 100644 index 00000000..7b9e0e8b --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +5.7.15 diff --git a/archlinux/PKGBUILD b/archlinux/PKGBUILD index 749bc573..806d3b3e 100644 --- a/archlinux/PKGBUILD +++ b/archlinux/PKGBUILD @@ -1,6 +1,6 @@ # Maintainer: justforlxz pkgname=dtkcore-git -pkgver=5.6.16 +pkgver=5.7.15 pkgrel=1 sourcename=dtkcore sourcetars=("$sourcename"_"$pkgver".tar.xz) @@ -19,7 +19,6 @@ sha512sums=('SKIP') build() { cd $sourcedir - version=$(echo $pkgver | awk -F'[+_~-]' '{print $1}') cmake \ -GNinja \ -DMKSPECS_INSTALL_DIR=lib/qt/mkspecs/modules \ @@ -31,8 +30,7 @@ build() { -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DD_DSG_APP_DATA_FALLBACK=/var/dsg/appdata \ - -DBUILD_WITH_SYSTEMD=ON \ - -DDTK_VERSION=$version + -DBUILD_WITH_SYSTEMD=ON ninja } diff --git a/debian/rules b/debian/rules index f618c0b2..6db6843e 100755 --- a/debian/rules +++ b/debian/rules @@ -7,7 +7,6 @@ export DEB_CXXFLAGS_MAINT_APPEND = -Ofast DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) VERSION = $(DEB_VERSION_UPSTREAM) -PACK_VER = $(shell echo $(VERSION) | awk -F'[+_~-]' '{print $$1}') # Calculate build version: # 5.6.8 -> 0; 5.6.8.7 -> 7; 5.6.8+u001 -> 1; 5.6.8.7+u001 -> 7; 5.6.8.0+u001 -> 0 @@ -22,7 +21,7 @@ endif dh $@ override_dh_auto_configure: - dh_auto_configure -- -DBUILD_WITH_SYSTEMD=ON -DBUILD_EXAMPLES=OFF -DBUILD_DOCS=ON -DBUILD_VERSION=$(BUILD_VER) -DDTK_VERSION=$(PACK_VER) -DD_DSG_APP_DATA_FALLBACK=/var/dsg/appdata + dh_auto_configure -- -DBUILD_WITH_SYSTEMD=ON -DBUILD_EXAMPLES=OFF -DBUILD_DOCS=ON -DBUILD_VERSION=$(BUILD_VER) -DD_DSG_APP_DATA_FALLBACK=/var/dsg/appdata #override_dh_auto_test: # echo "skip auto test"