From b3c85d959c479f398390ed1633c20ef16679dcbc Mon Sep 17 00:00:00 2001 From: Andrew Rabert Date: Sat, 13 Dec 2025 22:11:51 -0500 Subject: [PATCH] Use VERSION file for versioning --- CMakeLists.txt | 2 +- CMakeModules/CPackConfiguration.cmake | 7 +++-- CMakeModules/VersionConfiguration.cmake | 38 ++++++++----------------- VERSION | 1 + 4 files changed, 18 insertions(+), 30 deletions(-) create mode 100644 VERSION diff --git a/CMakeLists.txt b/CMakeLists.txt index 8c0b01f..e98efdb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "" FORCE) option(CHECK_FOR_UPDATES "Enable checking for new versions of Jellyfin" ON) option(OPENELEC "Make an OpenELEC build" OFF) option(LINUX_X11POWER "Enable non D-Bus screensaver management" OFF) -option(USE_STATIC_MPVQT "Build MpvQt from bundled submodule instead of using system library" ON) +option(USE_STATIC_MPVQT "Build MpvQt from bundled submodule instead of using system library" OFF) if (NOT CHECK_FOR_UPDATES) add_definitions(-DDISABLE_UPDATE_CHECK) diff --git a/CMakeModules/CPackConfiguration.cmake b/CMakeModules/CPackConfiguration.cmake index 95585f4..6bbb1af 100644 --- a/CMakeModules/CPackConfiguration.cmake +++ b/CMakeModules/CPackConfiguration.cmake @@ -1,9 +1,10 @@ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Jellyfin") set(CPACK_PACKAGE_VENDOR "Jellyfin") set(CPACK_PACKAGE_NAME "Jellyfin") -set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR}) -set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) -set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_NANO}) +string(REPLACE "." ";" VERSION_PARTS "${VERSION_BASE}") +list(GET VERSION_PARTS 0 CPACK_PACKAGE_VERSION_MAJOR) +list(GET VERSION_PARTS 1 CPACK_PACKAGE_VERSION_MINOR) +list(GET VERSION_PARTS 2 CPACK_PACKAGE_VERSION_PATCH) if(APPLE) set(CPACK_SYSTEM_NAME "macosx-x86_64") diff --git a/CMakeModules/VersionConfiguration.cmake b/CMakeModules/VersionConfiguration.cmake index 9d48d99..a19ba18 100644 --- a/CMakeModules/VersionConfiguration.cmake +++ b/CMakeModules/VersionConfiguration.cmake @@ -1,33 +1,19 @@ # Get the current date. -# include(WebClientVariables) string(TIMESTAMP CURRENT_DATE "%Y-%m-%d") -# Get git revision version -#include(GetGitRevisionDescription) -#get_git_head_revision(REFSPEC FULL_GIT_REVISION) -#if(FULL_GIT_REVISION STREQUAL "GITDIR-NOTFOUND") -# set(GIT_REVISION "git") -#else(FULL_GIT_REVISION STREQUAL "GITDIR-NOTFOUND") -# string(SUBSTRING ${FULL_GIT_REVISION} 0 8 GIT_REVISION) -#endif(FULL_GIT_REVISION STREQUAL "GITDIR-NOTFOUND") - -# Get the build number if available -if(DEFINED ENV{BUILD_NUMBER}) - set(VERSION_BUILD "$ENV{BUILD_NUMBER}") - set(VERSION_BUILD_NR "$ENV{BUILD_NUMBER}") -else() - set(VERSION_BUILD "dev") - set(VERSION_BUILD_NR "0") -endif() - -set(VERSION_MAJOR 1) -set(VERSION_MINOR 12) -set(VERSION_NANO 0) - option(UPGRADE_DEBUG "" OFF) -set(VERSION_STRING "1.12.0") -set(VERSION_STRING_SHORT "1.12.0") -set(CANONICAL_VERSION_STRING "1.12.0") +# Read version from VERSION file +file(READ "${CMAKE_SOURCE_DIR}/VERSION" VERSION_STRING) +string(STRIP "${VERSION_STRING}" VERSION_STRING) + +# Extract major.minor.patch for places that need it +string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" VERSION_BASE "${VERSION_STRING}") +if(NOT VERSION_BASE) + set(VERSION_BASE "0.0.0") +endif() + +set(VERSION_STRING_SHORT "${VERSION_BASE}") +set(CANONICAL_VERSION_STRING "${VERSION_BASE}") configure_file(src/core/Version.cpp.in src/core/Version.cpp) diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..381cf02 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +1.12.0-dev