Last active
October 6, 2020 02:17
-
-
Save Jj0YzL5nvJ/83c782b5e07efabd562a6fafa87256b9 to your computer and use it in GitHub Desktop.
Personal utility to build and package "Angrylion-RDP-Plus" automatically
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
:: Last modification: 2020/10/05 | |
setlocal enableextensions disabledelayedexpansion | |
cls | |
pushd "%~dps0" | |
set ORIG=%CD% | |
set mg=ERROR | |
set ERR=if errorlevel 1 goto err | |
if not defined ARCH set ARCH=x64 | |
set TARCH=%ARCH% | |
if not defined CONF set CONF=Release | |
set VSPF=%ProgramFiles(x86)% | |
if "%PROCESSOR_ARCHITECTURE%"=="x86" set ARCH=x86& set VSPF=%ProgramFiles% | |
:x86 | |
cd "%ORIG%" | |
if "%ARCH%"=="x86" set TARCH=Win32 | |
set VSDEVSCRIPT=Common7\Tools\VsDevCmd.bat | |
set VS2015=Microsoft Visual Studio 14.0 | |
set VS2017=Microsoft Visual Studio\2017\Community | |
set VS2019=Microsoft Visual Studio\2019\Community | |
if exist "%VSPF%\%VS2019%\%VSDEVSCRIPT%" set VSDEVSCRIPT="%VSPF%\%VS2019%\%VSDEVSCRIPT%" | |
if exist "%VSPF%\%VS2017%\%VSDEVSCRIPT%" set VSDEVSCRIPT="%VSPF%\%VS2017%\%VSDEVSCRIPT%" | |
if exist "%VSPF%\%VS2015%\%VSDEVSCRIPT%" set VSDEVSCRIPT="%VSPF%\%VS2015%\%VSDEVSCRIPT%" | |
msbuild -version >nul 2>&1 | |
if errorlevel 1 call %VSDEVSCRIPT% | |
%ERR% | |
if defined FIXCMK set PATH=D:\cmake-3.18.3-win64-x64\bin;%VSPF%\%VS2019%\Common7\IDE\Extensions\Microsoft\IntelliCode\CLI;%VSPF%\%VS2019%\VC\Tools\MSVC\14.26.28801\bin\HostX86\x86;%VSPF%\%VS2019%\Common7\IDE\VC\VCPackages;%VSPF%\%VS2019%\Common7\IDE\CommonExtensions\Microsoft\TestWindow;%VSPF%\%VS2019%\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;%VSPF%\%VS2019%\MSBuild\Current\bin\Roslyn;%VSPF%\%VS2019%\Team Tools\Performance Tools;%VSPF%\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\vs2019\;%VSPF%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\;%VSPF%\HTML Help Workshop;%VSPF%\%VS2019%\Common7\IDE\CommonExtensions\Microsoft\FSharp\;%VSPF%\Windows Kits\10\bin\10.0.18362.0\x86;%VSPF%\Windows Kits\10\bin\x86;%VSPF%\%VS2019%\MSBuild\Current\Bin;C:\Windows\Microsoft.NET\Framework\v4.0.30319;%VSPF%\%VS2019%\Common7\IDE\;%VSPF%\%VS2019%\Common7\Tools\;%ProgramFiles%\Python38\Scripts\;%ProgramFiles%\Python38\;%VSPF%\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;%VSPF%\Microsoft SQL Server\110\Tools\Binn\;%ProgramFiles%\Microsoft SQL Server\110\Tools\Binn\;%ProgramFiles%\Microsoft SQL Server\110\DTS\Binn\;%ProgramFiles%\Microsoft SQL Server\130\Tools\Binn\;%ProgramFiles%\dotnet\;%ProgramFiles%\Git\cmd;%ProgramFiles%\LLVM\bin;%ProgramFiles%\7-Zip;%VSPF%\%VS2019%\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;%VSPF%\%VS2019%\Common7\IDE\VC\Linux\bin\ConnectionManagerExe | |
7z >nul 2>&1 | |
%ERR% | |
git --version >nul 2>&1 | |
%ERR% | |
python -V >nul 2>&1 | |
%ERR% | |
taskkill /im vctip.exe /f 2>nul | |
taskkill /im mspdbsrv.exe /f 2>nul | |
rd /s /q angrylion-rdp-plus | |
git clone https://github.com/ata4/angrylion-rdp-plus.git | |
%ERR% | |
goto cmk | |
:pak | |
if not exist "%ORIG%\angrylion-rdp-plus\src\core\version.h" goto err | |
for /f "tokens=3" %%a in ('type "%ORIG%\angrylion-rdp-plus\src\core\version.h" ^| find "define GIT_TAG"') do set p1=%%~a | |
for /f "tokens=3" %%a in ('type "%ORIG%\angrylion-rdp-plus\src\core\version.h" ^| find "GIT_COMMIT_HASH"') do set p2=%%~a | |
for /f "tokens=3" %%a in ('type "%ORIG%\angrylion-rdp-plus\src\core\version.h" ^| find "GIT_COMMIT_DATE"') do set p4=%%~a | |
for /f "tokens=1,2,3 delims=-" %%a in ('echo %p4%') do set p4=%%a%%b%%c | |
md "%ORIG%\angrylion-plus_%p1%-%p2%_%p3%_%p4%\Project64_%ARCH%" | |
md "%ORIG%\angrylion-plus_%p1%-%p2%_%p3%_%p4%\Mupen64Plus_%ARCH%" | |
copy /y a*.dll "%ORIG%\angrylion-plus_%p1%-%p2%_%p3%_%p4%\Project64_%ARCH%" | |
%ERR% | |
copy /y m*.dll "%ORIG%\angrylion-plus_%p1%-%p2%_%p3%_%p4%\Mupen64Plus_%ARCH%" | |
%ERR% | |
goto:eof | |
:cmk | |
cmake --version >nul 2>&1 | |
if errorlevel 1 goto vs | |
md angrylion-rdp-plus\build\%ARCH% | |
cd angrylion-rdp-plus\build\%ARCH% | |
%ERR% | |
if not defined TOOLSET set TOOLSET=v141_xp | |
cmake -T "%TOOLSET%" -A "%TARCH%" ..\.. | |
%ERR% | |
cmake --build . --config %CONF% | |
%ERR% | |
set p3=%ARCH%-shared_%TOOLSET% | |
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" set p3=x86_64-shared_%TOOLSET% | |
set p5=%p3% | |
cd %CONF% | |
%ERR% | |
call :pak | |
:vs | |
cd "%ORIG%" | |
msbuild angrylion-rdp-plus\msvc\angrylion-plus.sln /t:Rebuild /p:Configuration=%CONF%;Platform=%ARCH% | |
%ERR% | |
set p3=%ARCH% | |
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" set p3=x86_64 | |
set p6=%p3% | |
cd angrylion-rdp-plus\msvc\build\%CONF% | |
%ERR% | |
call :pak | |
if "%ARCH%"=="x64" set ARCH=x86& goto x86 | |
cd "%ORIG%\angrylion-plus_%p1%-%p2%_%p5%_%p4%\" | |
if errorlevel 1 goto ncmk | |
7z a -t7z "%ORIG%\angrylion-plus_%p1%-%p2%_%p5%_%p4%.7z" * | |
%ERR% | |
:ncmk | |
cd "%ORIG%\angrylion-plus_%p1%-%p2%_%p6%_%p4%\" | |
%ERR% | |
7z a -t7z "%ORIG%\angrylion-plus_%p1%-%p2%_%p6%_%p4%.7z" * | |
%ERR% | |
set mg=DONE | |
echo. | |
:err | |
echo %mg%! | |
cd "%ORIG%" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment