aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/utils/vsenv.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/utils/vsenv.py')
-rw-r--r--mesonbuild/utils/vsenv.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/mesonbuild/utils/vsenv.py b/mesonbuild/utils/vsenv.py
index 5f32990..47055a0 100644
--- a/mesonbuild/utils/vsenv.py
+++ b/mesonbuild/utils/vsenv.py
@@ -2,12 +2,11 @@ import os
import subprocess
import json
import pathlib
-import platform
import shutil
import tempfile
from .. import mlog
-from .universal import MesonException, is_windows
+from .universal import MesonException, is_windows, windows_detect_native_arch
__all__ = [
@@ -72,8 +71,10 @@ def _setup_vsenv(force: bool) -> bool:
# VS installer instelled but not VS itself maybe?
raise MesonException('Could not parse vswhere.exe output')
bat_root = pathlib.Path(bat_info[0]['installationPath'])
- if platform.machine() == 'ARM64':
- bat_path = bat_root / 'VC/Auxiliary/Build/vcvarsx86_arm64.bat'
+ if windows_detect_native_arch() == 'arm64':
+ bat_path = bat_root / 'VC/Auxiliary/Build/vcvarsarm64.bat'
+ if not bat_path.exists():
+ bat_path = bat_root / 'VC/Auxiliary/Build/vcvarsx86_arm64.bat'
else:
bat_path = bat_root / 'VC/Auxiliary/Build/vcvars64.bat'
# if VS is not found try VS Express