From 41c2a7b0704f4f395f824ee004a1fc66e83e7351 Mon Sep 17 00:00:00 2001 From: Joshua Diamond Date: Thu, 18 Dec 2025 22:23:51 -0500 Subject: [PATCH] Include userspace version (QMK_USERSPACE_VERSION) in version.h (#25882) * Include userspace version in version.h * Update lib/python/qmk/cli/generate/version_h.py Co-authored-by: Joel Challis * Update lib/python/qmk/cli/generate/version_h.py Co-authored-by: Joel Challis * Update lib/python/qmk/cli/generate/version_h.py Co-authored-by: Joel Challis --------- Co-authored-by: Joel Challis --- lib/python/qmk/cli/generate/version_h.py | 13 +++++++++++-- lib/python/qmk/git.py | 3 --- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/python/qmk/cli/generate/version_h.py b/lib/python/qmk/cli/generate/version_h.py index 8156e85559..d32b9d00ca 100644 --- a/lib/python/qmk/cli/generate/version_h.py +++ b/lib/python/qmk/cli/generate/version_h.py @@ -1,9 +1,12 @@ """Used by the make system to generate version.h for use in code. """ from time import strftime +from pathlib import Path from milc import cli +from qmk.constants import QMK_USERSPACE, HAS_QMK_USERSPACE + from qmk.path import normpath from qmk.commands import dump_lines from qmk.git import git_get_qmk_hash, git_get_version, git_is_dirty @@ -36,13 +39,18 @@ def generate_version_h(cli): git_bcd_version = "0x00000000" chibios_version = "NA" chibios_contrib_version = "NA" + userspace_version = "NA" else: git_dirty = git_is_dirty() git_version = git_get_version() or current_time git_qmk_hash = git_get_qmk_hash() or "Unknown" git_bcd_version = triplet_to_bcd(git_version) - chibios_version = git_get_version("chibios", "os") or current_time - chibios_contrib_version = git_get_version("chibios-contrib", "os") or current_time + chibios_version = git_get_version(Path('lib') / "chibios", "os") or current_time + chibios_contrib_version = git_get_version(Path('lib') / "chibios-contrib") or current_time + if HAS_QMK_USERSPACE: + userspace_version = git_get_version(Path(QMK_USERSPACE).resolve()) or current_time + else: + userspace_version = "None" # Build the version.h file. version_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once'] @@ -55,6 +63,7 @@ def generate_version_h(cli): #define QMK_GIT_HASH "{git_qmk_hash}{'*' if git_dirty else ''}" #define CHIBIOS_VERSION "{chibios_version}" #define CHIBIOS_CONTRIB_VERSION "{chibios_contrib_version}" +#define QMK_USERSPACE_VERSION "{userspace_version}" """ ) diff --git a/lib/python/qmk/git.py b/lib/python/qmk/git.py index 9d567475d8..77c5e6aa1a 100644 --- a/lib/python/qmk/git.py +++ b/lib/python/qmk/git.py @@ -13,9 +13,6 @@ def git_get_version(repo_dir='.', check_dir='.'): """ git_describe_cmd = ['git', 'describe', '--abbrev=6', '--dirty', '--always', '--tags'] - if repo_dir != '.': - repo_dir = Path('lib') / repo_dir - if check_dir != '.': check_dir = repo_dir / check_dir