User:Dart Raiden/Build Miranda
Jump to navigation
Jump to search
Run build.bat as administrator.
build.bat:
@echo off chcp 1251 >nul net session >nul 2>&1 IF %ERRORLEVEL% NEQ 0 ( ECHO Please run as administator! pause exit ) set sources=D:\dev\miranda-ng set solution_dir=bin15 set configuration=Release set miranda_path=%PROGRAMFILES%\Miranda NG set vspath=%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Community set msbuild=%vspath%\MSBuild\15.0\Bin\MSBuild.exe set unzip=%PROGRAMFILES%\7-Zip\7zG.exe :set_vs_variables call "%vspath%\Common7\Tools\vsdevcmd.bat" -arch=amd64 -host_arch=amd64 -no_logo :clean_old_build cd /d "%sources%\%solution_dir%" if exist "%configuration%64" rd /q /s "%configuration%64" >nul if exist "%sources%\include\m_version.h" del /q /s "%sources%\include\m_version.h" cd /d "%sources%" call cleaner.bat :update_sources TortoiseGitProc /command:pull /path:"%sources%" :build_miranda "%msbuild%" "%sources%\%solution_dir%\my.sln" /m /t:Rebuild /p:Configuration=Release /p:Platform=x64 if errorlevel 1 ( echo ********** MIRANDA BUILD FAIL ********** pause exit ) :build_icons "%msbuild%" "%sources%\%solution_dir%\my_icons.sln" /m /t:Rebuild /p:Configuration=Release /p:Platform=x64 if errorlevel 1 ( echo ********** ICONS BUILD FAIL ********** pause exit ) :sort cd /d "%sources%\%solution_dir%\%configuration%64" rd /q /s Obj >nul for /r %%i in (*.ilk,*.iobj,*.ipdb) do del /q /s %%i >nul for /r Icons %%j in (*.pdb) do del /q /s %%j >nul for /r %%k in (*.pdb) do move %%k "%sources%\%solution_dir%\%configuration%64" >nul :kill Taskkill /f /im Miranda64.exe timeout 3 :backup if exist "%TEMP%\Miranda_backup" rd /q /s "%TEMP%\Miranda_backup" >nul xcopy /i /s /y "%miranda_path%" "%TEMP%\Miranda_backup" >nul :replace xcopy /i /s /y "%sources%\%solution_dir%\%configuration%64" "%miranda_path%" >nul :get_openssl cd %TEMP% curl https://www.miranda-ng.org/distr/pdb_x64/miranda64.zip -o miranda64.zip "%unzip%" e miranda64.zip libcrypto* libssl* -r -aoa for %%n in (libcrypto-1_1.mir,libssl-1_1.mir) do xcopy /y %%n "%miranda_path%\Libs" >nul for %%n in (libcrypto-1_1.pdb,libssl-1_1.pdb) do xcopy /y %%n "%miranda_path%" >nul :run :: dirty hack to prevent the app from inheriting elevated permissions explorer "%miranda%\Miranda64.exe" exit
my.sln and my_icons.sln are my custom solutions.