mirror of
https://github.com/mpv-player/mpv.git
synced 2026-05-07 20:02:49 +00:00
17db9bdc50
Also fallback to `--always` only if first `git describe` returned errors, but were called successfully.
34 lines
992 B
Meson
34 lines
992 B
Meson
git = find_program('git', required: false)
|
|
if not git.found()
|
|
git = ''
|
|
endif
|
|
|
|
generate_ver = '''
|
|
#!/usr/bin/env python3
|
|
import os
|
|
import sys
|
|
from subprocess import DEVNULL, CalledProcessError, check_output
|
|
if not sys.argv[1]:
|
|
sys.exit(1)
|
|
git_cmd = [sys.argv[1], "--git-dir=" + os.path.join(sys.argv[2], ".git"),
|
|
"--work-tree=" + sys.argv[2]]
|
|
describe_cmd = git_cmd + ["describe", "--abbrev=9", "--tags", "--dirty"]
|
|
try:
|
|
ver = check_output(describe_cmd, stderr=DEVNULL, encoding="UTF-8")
|
|
except CalledProcessError:
|
|
describe_cmd += ["--always"]
|
|
ver = check_output(describe_cmd, stderr=DEVNULL, encoding="UTF-8")
|
|
ver = f"v{sys.argv[3]}-dev-g{ver}"
|
|
sys.stdout.write(ver)
|
|
'''
|
|
|
|
version_h = vcs_tag(
|
|
command: [python, '-c', generate_ver, git, source_root, meson.project_version().replace('-UNKNOWN', '')],
|
|
fallback: 'v' + meson.project_version(),
|
|
input: 'version.h.in',
|
|
output: 'version.h',
|
|
replace_string: '@VERSION@',
|
|
)
|
|
|
|
sources += version_h
|