forked from bartvdbraak/blender
0062813c73
Inspired by @mrwhite in D7295
95 lines
2.3 KiB
Batchfile
95 lines
2.3 KiB
Batchfile
if NOT "%verbose%" == "" (
|
|
echo Detecting msvc %BUILD_VS_YEAR%
|
|
)
|
|
|
|
set ProgramFilesX86=%ProgramFiles(x86)%
|
|
if not exist "%ProgramFilesX86%" set ProgramFilesX86=%ProgramFiles%
|
|
|
|
set vs_where=%ProgramFilesX86%\Microsoft Visual Studio\Installer\vswhere.exe
|
|
if not exist "%vs_where%" (
|
|
if NOT "%verbose%" == "" (
|
|
echo Visual Studio %BUILD_VS_YEAR% is not detected
|
|
)
|
|
goto FAIL
|
|
)
|
|
|
|
if NOT "%verbose%" == "" (
|
|
echo "%vs_where%" -latest %VSWHERE_ARGS% -version ^[%BUILD_VS_VER%.0^,%BUILD_VS_VER%.99^) -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64
|
|
)
|
|
|
|
for /f "usebackq tokens=1* delims=: " %%i in (`"%vs_where%" -latest -version ^[%BUILD_VS_VER%.0^,%BUILD_VS_VER%.99^) %VSWHERE_ARGS% -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64`) do (
|
|
if /i "%%i"=="installationPath" set VS_InstallDir=%%j
|
|
)
|
|
|
|
if NOT "%verbose%" == "" (
|
|
echo VS_Installdir="%VS_InstallDir%"
|
|
)
|
|
|
|
if "%VS_InstallDir%"=="" (
|
|
if NOT "%verbose%" == "" (
|
|
echo.
|
|
echo Visual Studio is detected but no suitable installation was found.
|
|
echo.
|
|
echo Check the "Desktop development with C++" workload has been installed.
|
|
echo.
|
|
echo If you are attempting to use either Visual Studio Preview version or the Visual C++ Build tools, Please see 'make help' on how to opt in to those toolsets.
|
|
echo.
|
|
goto FAIL
|
|
)
|
|
)
|
|
|
|
set VCVARS=%VS_InstallDir%\VC\Auxiliary\Build\vcvarsall.bat
|
|
if exist "%VCVARS%" (
|
|
if NOT "%verbose%" == "" (
|
|
echo calling "%VCVARS%" %BUILD_ARCH%
|
|
)
|
|
call "%VCVARS%" %BUILD_ARCH%
|
|
) else (
|
|
if NOT "%verbose%" == "" (
|
|
echo "%VCVARS%" not found
|
|
)
|
|
goto FAIL
|
|
)
|
|
|
|
rem try msbuild
|
|
if NOT "%verbose%" == "" (
|
|
echo Testing for MSBuild
|
|
)
|
|
msbuild /version > NUL
|
|
if errorlevel 1 (
|
|
if NOT "%verbose%" == "" (
|
|
echo Visual Studio %BUILD_VS_YEAR% msbuild not found
|
|
)
|
|
goto FAIL
|
|
)
|
|
|
|
if NOT "%verbose%" == "" (
|
|
echo Visual Studio %BUILD_VS_YEAR% msbuild found
|
|
)
|
|
|
|
REM try the c++ compiler
|
|
if NOT "%verbose%" == "" (
|
|
echo Testing for the C/C++ Compiler
|
|
)
|
|
cl 2> NUL 1>&2
|
|
if errorlevel 1 (
|
|
if NOT "%verbose%" == "" (
|
|
echo Visual Studio %BUILD_VS_YEAR% C/C++ Compiler not found
|
|
)
|
|
goto FAIL
|
|
)
|
|
|
|
if NOT "%verbose%" == "" (
|
|
echo Visual Studio %BUILD_VS_YEAR% C/C++ Compiler found
|
|
)
|
|
|
|
if NOT "%verbose%" == "" (
|
|
echo Visual Studio %BUILD_VS_YEAR% is detected successfully
|
|
)
|
|
goto EOF
|
|
|
|
:FAIL
|
|
exit /b 1
|
|
|
|
:EOF
|