radare2/sys/msvc.bat

73 lines
1.9 KiB
Batchfile

@echo off
rem If LIBPATH is already set (VC Console or whatever) just start the bash script
if defined LIBPATH goto :Bash
:Default
rem Keep this empty if you want the script to autodect the file location
rem Otherwise set your vcvarsall.bat location in this variable
rem set VC_VARS_ALL=C:\VS\VC\vcvarsall.bat
set VC_VARS_ALL=
if ["%VC_VARS_ALL%"] == [""] goto :FindVcVars else goto :SetVars
:FindVcVars
setlocal enabledelayedexpansion
echo VC_VARS_ALL was not set, trying to find its location...
set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\SxS\VS7"
set VC_VER=0
for /F "skip=2 tokens=1,2*" %%A in ('REG QUERY %KEY_NAME% 2^>nul') do (
for /F "tokens=1,2 delims=." %%X in ("%%A") do (
set VER=%%X
)
if !VER! GTR !VC_VER! (
set VC_VER=!VER!
set VC_DIR=%%C
)
)
if ["%VC_DIR%"] == [""] goto :FindFail
endlocal & (
set "VC_DIR=%VC_DIR%"
set "VC_VER=%VC_VER%"
)
:VcVarsDefaults
echo Found VC_DIR location: %VC_DIR% (version %VC_VER%)
if exist "%VC_DIR%VC\Auxiliary\Build\vcvarsall.bat" (
set vcvarsall="%VC_DIR%VC\Auxiliary\Build\vcvarsall.bat"
)
if exist "%VC_DIR%VC\vcvarsall.bat" (
set vcvarsall="%VC_DIR%VC\vcvarsall.bat"
)
if [%vcvarsall%] == [] (
goto :FindFail
)
echo Found %vcvarsall%
goto :SetVars
:VcSearch
echo Could not find vcvarsall.bat, making a deeper search...
for /r "%VC_DIR%" %%a in (*) do if "%%~nxa"=="vcvarsall.bat" set vcvarsall=%%~dpnxa
if defined vcvarsall (
echo Found %vcvarsall% !
) else (
goto :FindFail
)
:SetVars
echo Setting vars...
call %vcvarsall% x64
set VC_LIB=%LIB%
:Bash
echo Calling script...
PATH=%cd%\sys;C:\cygwin64\bin;%PATH%
cmd /c bash sys\msvc.sh
exit /b %errorlevel%
goto :End
:FindFail
echo Could not find the vcvarsall.bat location.
echo Maybe are you missing Visual Studio compiler ?
echo Try setting it manually at the beginning of this file.
:End