2022-02-27 15:24:37 +08:00
|
|
|
@echo off
|
|
|
|
setlocal ENABLEEXTENSIONS
|
|
|
|
setlocal enableDelayedExpansion
|
|
|
|
|
|
|
|
@rem set local scope for the variables with windows NT shell
|
|
|
|
if "%OS%"=="Windows_NT" setlocal
|
|
|
|
|
|
|
|
@rem get script directory name
|
|
|
|
set DIRNAME=%~dp0\..\.cache
|
|
|
|
if "%DIRNAME%" == "" set DIRNAME=.
|
|
|
|
|
|
|
|
@rem strip trailing backslash from DIRNAME path to make it easier to work with
|
|
|
|
IF %DIRNAME:~-1%==\ SET DIRNAME=%DIRNAME:~0,-1%
|
|
|
|
|
|
|
|
@rem get OS bitness
|
|
|
|
reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS_BITNESS=32BIT || set OS_BITNESS=64BIT
|
|
|
|
|
|
|
|
set UNZIP_EXE=%DIRNAME%\7zip\7z.exe
|
|
|
|
|
|
|
|
@rem require 7zip to unzip the cmake dist because windows sucks
|
|
|
|
if not exist %UNZIP_EXE% (
|
|
|
|
echo Downloading 7zip...
|
|
|
|
|
|
|
|
if %OS_BITNESS%==64BIT (
|
|
|
|
call :downloadFile https://www.7-zip.org/a/7z1801-x64.exe %TEMP%\7zInstall.exe
|
|
|
|
) else (
|
|
|
|
call :downloadFile https://www.7-zip.org/a/7z1801.exe %TEMP%\7zInstall.exe
|
|
|
|
)
|
|
|
|
|
|
|
|
echo Installing 7zip
|
|
|
|
|
|
|
|
@rem don't forget the trailing backslash here because 7zip is too stupid to deal with paths and just removes the last char
|
|
|
|
%TEMP%\7zInstall.exe /S /D=%DIRNAME%\7zip\
|
|
|
|
del %TEMP%\7zInstall.exe
|
|
|
|
)
|
|
|
|
if not "%OS%" == "Windows_NT" goto win9xME_args
|
|
|
|
if "%@eval[2+2]" == "4" goto 4NT_args
|
|
|
|
|
|
|
|
:win9xME_args
|
|
|
|
@rem Slurp the command line arguments.
|
|
|
|
set CMD_LINE_ARGS=
|
|
|
|
set _SKIP=2
|
|
|
|
|
|
|
|
:win9xME_args_slurp
|
|
|
|
if "x%~1" == "x" goto runCmake
|
|
|
|
|
|
|
|
set CMD_LINE_ARGS=%*
|
|
|
|
goto runCmake
|
|
|
|
|
|
|
|
:4NT_args
|
|
|
|
@rem Get arguments from the 4NT Shell from JP Software
|
|
|
|
set CMD_LINE_ARGS=%$
|
|
|
|
|
|
|
|
:runCmake
|
|
|
|
|
|
|
|
%UNZIP_EXE% %CMD_LINE_ARGS%
|
|
|
|
goto end
|
|
|
|
|
|
|
|
|
|
|
|
@rem args: fileUrl, filePath
|
|
|
|
:downloadFile
|
|
|
|
powershell -Command "(New-Object Net.WebClient).DownloadFile('%~1', '%~2')"
|
|
|
|
EXIT /B 0
|
|
|
|
|
|
|
|
:end
|
2022-02-27 15:17:46 +08:00
|
|
|
if "%OS%"=="Windows_NT" endlocal
|