diff options
Diffstat (limited to 'mesonbuild/minstall.py')
-rw-r--r-- | mesonbuild/minstall.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py index 47bb88b..a8ec8f3 100644 --- a/mesonbuild/minstall.py +++ b/mesonbuild/minstall.py @@ -19,7 +19,6 @@ from glob import glob from .scripts import depfixer from .scripts import destdir_join from .mesonlib import is_windows, Popen_safe -from .mtest import rebuild_all from .backend.backends import InstallData from .coredata import major_versions_differ, MesonVersionMismatchException from .coredata import version as coredata_version @@ -532,6 +531,23 @@ class Installer: else: raise +def rebuild_all(wd: str) -> bool: + if not (Path(wd) / 'build.ninja').is_file(): + print('Only ninja backend is supported to rebuild the project before installation.') + return True + + ninja = environment.detect_ninja() + if not ninja: + print("Can't find ninja, can't rebuild test.") + return False + + ret = subprocess.run(ninja + ['-C', wd]).returncode + if ret != 0: + print('Could not rebuild {}'.format(wd)) + return False + + return True + def run(opts): datafilename = 'meson-private/install.dat' private_dir = os.path.dirname(datafilename) |