51 lines
2.1 KiB
Batchfile
51 lines
2.1 KiB
Batchfile
@echo off
|
|
rem ===========================================================================
|
|
rem Shared MSVC 2022 (v143) environment setup.
|
|
rem
|
|
rem Called by configure.bat / build.bat / clean.bat. It:
|
|
rem 1) locates the MSVC 2022 toolset and cl.exe (default Hostx64\x64);
|
|
rem 2) calls vcvarsall.bat to set PATH / INCLUDE / LIB (nmake comes with it).
|
|
rem
|
|
rem NOTE: this script does NOT use setlocal, so the variables it defines stay
|
|
rem in the caller's environment (all callers run under setlocal).
|
|
rem
|
|
rem Override the defaults with these environment variables:
|
|
rem VS2022_DIR Visual Studio 2022 install root
|
|
rem MSVC_TOOLSET_VERSION MSVC toolset version
|
|
rem MSVC_HOST_ARCH compiler host architecture (x64 / x86)
|
|
rem MSVC_TARGET_ARCH target architecture (x64 / x86)
|
|
rem
|
|
rem Exit code: 0 = ok, non-zero = setup failed (caller must abort).
|
|
rem
|
|
rem Encoding: keep this file ASCII-only (cmd.exe parses .bat in the OEM code
|
|
rem page, UTF-8 comments would break parsing on non-UTF-8 consoles).
|
|
rem ===========================================================================
|
|
|
|
if not defined VS2022_DIR set "VS2022_DIR=D:\APP\VisualStudio2022"
|
|
if not defined MSVC_TOOLSET_VERSION set "MSVC_TOOLSET_VERSION=14.44.35207"
|
|
if not defined MSVC_HOST_ARCH set "MSVC_HOST_ARCH=x64"
|
|
if not defined MSVC_TARGET_ARCH set "MSVC_TARGET_ARCH=x64"
|
|
|
|
set "MSVC_TOOLSET_DIR=%VS2022_DIR%\VC\Tools\MSVC\%MSVC_TOOLSET_VERSION%"
|
|
set "MSVC_CXX_COMPILER=%MSVC_TOOLSET_DIR%\bin\Host%MSVC_HOST_ARCH%\%MSVC_TARGET_ARCH%\cl.exe"
|
|
set "VCVARS_BAT=%VS2022_DIR%\VC\Auxiliary\Build\vcvarsall.bat"
|
|
|
|
if not exist "%VCVARS_BAT%" (
|
|
echo [ERROR] vcvarsall.bat not found: "%VCVARS_BAT%"
|
|
echo Please set VS2022_DIR to the Visual Studio 2022 install root.
|
|
exit /b 1
|
|
)
|
|
if not exist "%MSVC_CXX_COMPILER%" (
|
|
echo [ERROR] cl.exe not found: "%MSVC_CXX_COMPILER%"
|
|
echo Please check MSVC_TOOLSET_VERSION / MSVC_HOST_ARCH / MSVC_TARGET_ARCH.
|
|
exit /b 1
|
|
)
|
|
|
|
call "%VCVARS_BAT%" %MSVC_TARGET_ARCH% >nul
|
|
if errorlevel 1 (
|
|
echo [ERROR] "vcvarsall.bat %MSVC_TARGET_ARCH%" failed.
|
|
exit /b 1
|
|
)
|
|
|
|
exit /b 0
|