3 from os import path, environ
4 from sys import argv, stderr
5 import subprocess as subp
8 source_root = path.dirname(path.realpath(__file__))
9 source_root = environ.get("MESON_SOURCE_ROOT", source_root)
14 path.join(source_root, ".git"),
18 "--match=" + prefix + "*",
22 cmd.append("--abbrev=0")
24 result = subp.run(cmd, stdout=subp.PIPE, encoding="utf-8")
25 version = result.stdout
27 if result.returncode or not version:
29 with open(path.join(source_root, "VERSION"), "r") as f:
30 version = f.read().strip()
32 print("could not read version from file", e, file=stderr)
33 elif version.startswith(prefix):
34 version = version[len(prefix):].strip()
36 print(version if version else "unknown", end="")