diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2025-07-22 07:29:55 +0200 |
|---|---|---|
| committer | Jussi Pakkanen <jussi.pakkanen@mailbox.org> | 2025-07-29 21:58:47 +0300 |
| commit | e28e726f43df2f762e32e172c6921a400a637c37 (patch) | |
| tree | 351eeb497ca94c7922946788a110d82bf183df2e /mesonbuild | |
| parent | 394b218be7945d8ea4b291cc7955b9f7e8c12536 (diff) | |
| download | meson-e28e726f43df2f762e32e172c6921a400a637c37.tar.gz | |
subprojects: allow passing a fnmatch pattern
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'mesonbuild')
| -rwxr-xr-x | mesonbuild/msubprojects.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/mesonbuild/msubprojects.py b/mesonbuild/msubprojects.py index c74283c29..9dac350ab 100755 --- a/mesonbuild/msubprojects.py +++ b/mesonbuild/msubprojects.py @@ -4,6 +4,7 @@ from dataclasses import dataclass, InitVar import os, subprocess import argparse import asyncio +import fnmatch import threading import copy import shutil @@ -641,8 +642,8 @@ def add_common_arguments(p: argparse.ArgumentParser) -> None: help='Allow insecure server connections.') def add_subprojects_argument(p: argparse.ArgumentParser) -> None: - p.add_argument('subprojects', nargs='*', - help='List of subprojects (default: all)') + p.add_argument('pattern', dest='subprojects', nargs='*', + help='Patterns of subprojects to operate on (default: all)') def add_wrap_update_parser(subparsers: 'SubParsers') -> argparse.ArgumentParser: p = subparsers.add_parser('update', help='Update wrap files from WrapDB (Since 0.63.0)') @@ -724,7 +725,8 @@ def run(options: 'Arguments') -> int: return 0 r = Resolver(source_dir, subproject_dir, wrap_frontend=True, allow_insecure=options.allow_insecure, silent=True) if options.subprojects: - wraps = [wrap for name, wrap in r.wraps.items() if name in options.subprojects] + wraps = [wrap for name, wrap in r.wraps.items() + if any(fnmatch.fnmatch(name, pat) for pat in options.subprojects)] else: wraps = list(r.wraps.values()) types = [t.strip() for t in options.types.split(',')] if options.types else [] |
