From 1cda222a1a5faf98bf5c72bc103307bf76f76f7f Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Sat, 15 Jan 2022 23:08:47 +0530 Subject: install: Setup VS env if we did that during setup Otherwise we might not find a ninja that was picked up from the Visual Studio installation. ``` $ meson setup _build ... Activating VS 15.9.40 ... Found ninja-1.8.2 at "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja\ninja.EXE" $ meson compile -C _build Activating VS 15.9.40 ... $ meson install -C _build Can't find ninja, can't rebuild test. ``` Fixes https://github.com/mesonbuild/meson/issues/9774 --- mesonbuild/minstall.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py index af847f7..47ebb75 100644 --- a/mesonbuild/minstall.py +++ b/mesonbuild/minstall.py @@ -25,6 +25,7 @@ import subprocess import sys import typing as T +from . import build from . import environment from .backend.backends import ( InstallData, InstallDataBase, InstallEmptyDir, InstallSymlinkData, @@ -32,7 +33,7 @@ from .backend.backends import ( ) from .coredata import major_versions_differ, MesonVersionMismatchException from .coredata import version as coredata_version -from .mesonlib import Popen_safe, RealPathAction, is_windows +from .mesonlib import Popen_safe, RealPathAction, is_windows, setup_vsenv from .scripts import depfixer, destdir_join from .scripts.meson_exe import run_exe try: @@ -793,6 +794,8 @@ def run(opts: 'ArgumentType') -> int: if not os.path.exists(os.path.join(opts.wd, datafilename)): sys.exit('Install data not found. Run this command in build directory root.') if not opts.no_rebuild: + b = build.load(opts.wd) + setup_vsenv(b.need_vsenv) if not rebuild_all(opts.wd): sys.exit(-1) os.chdir(opts.wd) -- cgit v1.1