diff options
Diffstat (limited to 'mesonbuild/mesonlib.py')
-rw-r--r-- | mesonbuild/mesonlib.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py index 2ab5ce4..a814567 100644 --- a/mesonbuild/mesonlib.py +++ b/mesonbuild/mesonlib.py @@ -116,6 +116,15 @@ def detect_vcs(source_dir): return vcs return None +def grab_leading_numbers(vstr): + result = [] + for x in vstr.split('.'): + try: + result.append(int(x)) + except ValueError: + break + return result + numpart = re.compile('[0-9.]+') def version_compare(vstr1, vstr2): @@ -146,8 +155,8 @@ def version_compare(vstr1, vstr2): vstr2 = vstr2[1:] else: cmpop = operator.eq - varr1 = [int(x) for x in vstr1.split('.')] - varr2 = [int(x) for x in vstr2.split('.')] + varr1 = grab_leading_numbers(vstr1) + varr2 = grab_leading_numbers(vstr2) return cmpop(varr1, varr2) def default_libdir(): |