You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.3 KiB
83 lines
2.3 KiB
@echo off |
|
|
|
REM -- Script requirements: |
|
REM -- |
|
REM -- * git This program must be in the Path to check out |
|
REM -- build-gyp. If that directory already exists, then |
|
REM -- git isn't necessary, but if it is missing, no |
|
REM -- commit hash will be embedded into binaries. |
|
REM -- |
|
REM -- * python A non-Cygwin Python 2 python.exe must be in the |
|
REM -- Path to run gyp. |
|
REM -- |
|
REM -- * msbuild msbuild must be in the Path. It is probably |
|
REM -- important to have msbuild from the correct MSVC |
|
REM -- release. |
|
REM -- |
|
REM -- The script's output binaries are in the src/Release/{Win32,x64} |
|
REM -- directory. |
|
|
|
REM ------------------------------------------------------------------------- |
|
REM -- Parse arguments |
|
|
|
setlocal |
|
cd %~dp0 |
|
set GYP_ARGS= |
|
set MSVC_PLATFORM=x64 |
|
|
|
:ParamLoop |
|
if "%1" == "" goto :ParamDone |
|
if "%1" == "--msvc-platform" ( |
|
REM -- One of Win32 or x64. |
|
set MSVC_PLATFORM=%2 |
|
shift && shift |
|
goto :ParamLoop |
|
) |
|
if "%1" == "--gyp-msvs-version" ( |
|
set GYP_ARGS=%GYP_ARGS% -G msvs_version=%2 |
|
shift && shift |
|
goto :ParamLoop |
|
) |
|
if "%1" == "--toolset" ( |
|
set GYP_ARGS=%GYP_ARGS% -D WINPTY_MSBUILD_TOOLSET=%2 |
|
shift && shift |
|
goto :ParamLoop |
|
) |
|
if "%1" == "--commit-hash" ( |
|
set GYP_ARGS=%GYP_ARGS% -D WINPTY_COMMIT_HASH=%2 |
|
shift && shift |
|
goto :ParamLoop |
|
) |
|
echo error: Unrecognized argument: %1 |
|
exit /b 1 |
|
:ParamDone |
|
|
|
REM ------------------------------------------------------------------------- |
|
REM -- Check out GYP. GYP doesn't seem to have releases, so just use the |
|
REM -- current master commit. |
|
|
|
if not exist build-gyp ( |
|
git clone https://chromium.googlesource.com/external/gyp build-gyp || ( |
|
echo error: GYP clone failed |
|
exit /b 1 |
|
) |
|
) |
|
|
|
REM ------------------------------------------------------------------------- |
|
REM -- Run gyp to generate MSVC project files. |
|
|
|
cd src |
|
|
|
call ..\build-gyp\gyp.bat winpty.gyp -I configurations.gypi %GYP_ARGS% |
|
if errorlevel 1 ( |
|
echo error: GYP failed |
|
exit /b 1 |
|
) |
|
|
|
REM ------------------------------------------------------------------------- |
|
REM -- Compile the project. |
|
|
|
msbuild winpty.sln /m /p:Platform=%MSVC_PLATFORM% || ( |
|
echo error: msbuild failed |
|
exit /b 1 |
|
)
|
|
|