summaryrefslogtreecommitdiff
path: root/tools/build_scripts/z1_ReBuild_Full.bat
blob: b48ea79f30e8abcf48f02b9c50d3a9ac952de522 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
set tp=%1
if  "%tp%"=="" (echo "please specify target platform 32 or 64!"&&pause&&goto :EOF)
if /i '%tp%' == '64' set bt=64
if /i '%tp%' == '32' (
  set ptr=Win32
) else if /i '%tp%' == '64' (
  set ptr=X64
)

call a_SetVar%tp%.bat
call "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat"
if exist git_error.txt del /f /q git_error.txt

pushd bin10
if not exist Logs mkdir Logs

if /i '%tp%' == '32' (
  if exist "Release" rd /Q /S "Release" >nul
)
if exist "Release%tp%" rd /Q /S "Release%tp%" >nul
if exist "Symbols%tp%" rd /Q /S "Symbols%tp%" >nul

if exist "..\include\m_version.h" del /F /Q "..\include\m_version.h"
pushd ..\build
call make_ver.bat
popd

MsBuild.exe "mir_full.sln" /m /t:Rebuild /p:Configuration=Release;Platform="%ptr%" /fileLogger /fileLoggerParameters:LogFile=Logs\full%tp%.log;errorsonly;warningsonly;summary
MsBuild.exe "mir_icons.sln" /m /t:Rebuild /p:Configuration=Release;Platform="%ptr%" /fileLogger /fileLoggerParameters:LogFile=Logs\icons%tp%.log;errorsonly;warningsonly;summary
start /wait z1_ReBuild_w810.bat %tp%
call pascal%tp%.bat
pushd ..\plugins\NotifyAnything\SendLog
call compile%tp%.bat
popd

if /i '%tp%' == '32' (
  %GetIt% -P Release/Libs -r -np -nd -nH -R html -e robots=off https://miranda-ng.org/distr/build/x86/
) else if /i '%tp%' == '64' (
  %GetIt% -P Release64/Libs -r -np -nd -nH -R html -e robots=off https://miranda-ng.org/distr/build/x64/
)

if exist Release ren Release Release32
md Symbols%tp%
rd /S /Q "Release%tp%\Obj" >nul
xcopy /S /V /Y "Release%tp%\*.pdb" "Symbols%tp%\"
del /F /S /Q "Release%tp%\*.pdb" >> nul

md "Release%tp%\Languages"

pushd "..\langpacks\tool"
LangpackSuite.exe \q \prussian \n..\..\bin10\Release%tp%\Languages\langpack_russian.txt
LangpackSuite.exe \q \pukrainian \n..\..\bin10\Release%tp%\Languages\langpack_ukrainian.txt
popd

pushd "..\tools\lpgen"
cscript /nologo translate.js /sourcelang:"belarusian" /release:"..\..\bin10\Release%tp%\Languages\langpack_belarusian.txt"
cscript /nologo translate.js /sourcelang:"bulgarian" /release:"..\..\bin10\Release%tp%\langpack_bulgarian_nodupes.txt"
copy /B "..\..\bin10\Release%tp%\langpack_bulgarian_nodupes.txt"+"..\..\langpacks\bulgarian\=DUPES=.txt" ..\..\bin10\Release%tp%\Languages\langpack_bulgarian.txt
REM cscript /nologo translate.js /sourcelang:"chinese" /release:"..\..\bin10\Release%tp%\Languages\langpack_chinese.txt"
cscript /nologo translate.js /sourcelang:"czech" /release:"..\..\bin10\Release%tp%\Languages\langpack_czech.txt"
REM cscript /nologo translate.js /sourcelang:"dutch" /release:"..\..\bin10\Release%tp%\Languages\langpack_dutch.txt"
cscript /nologo translate.js /sourcelang:"english_gb" /release:"..\..\bin10\Release%tp%\Languages\langpack_english_gb.txt"
REM cscript /nologo translate.js /sourcelang:"estonian" /release:"..\..\bin10\Release%tp%\Languages\langpack_estonian.txt"
cscript /nologo translate.js /sourcelang:"french" /release:"..\..\bin10\Release%tp%\Languages\langpack_french.txt"
cscript /nologo translate.js /sourcelang:"german" /release:"..\..\bin10\Release%tp%\Languages\langpack_german.txt"
REM cscript /nologo translate.js /sourcelang:"hebrew" /release:"..\..\bin10\Release%tp%\Languages\langpack_hebrew.txt"
REM cscript /nologo translate.js /sourcelang:"hungarian" /release:"..\..\bin10\Release%tp%\Languages\langpack_hungarian.txt"
REM cscript /nologo translate.js /sourcelang:"italian" /release:"..\..\bin10\Release%tp%\Languages\langpack_italian.txt"
REM cscript /nologo translate.js /sourcelang:"japanese" /release:"..\..\bin10\Release%tp%\Languages\langpack_japanese.txt"
REM cscript /nologo translate.js /sourcelang:"korean" /release:"..\..\bin10\Release%tp%\Languages\langpack_korean.txt"
REM cscript /nologo translate.js /sourcelang:"norwegian" /release:"..\..\bin10\Release%tp%\Languages\langpack_norwegian.txt"
cscript /nologo translate.js /sourcelang:"polish" /release:"..\..\bin10\Release%tp%\Languages\langpack_polish.txt"
REM cscript /nologo translate.js /sourcelang:"portuguese_br" /release:"..\..\bin10\Release%tp%\Languages\langpack_portuguese_br.txt"
REM cscript /nologo translate.js /sourcelang:"slovak" /release:"..\..\bin10\Release%tp%\Languages\langpack_slovak.txt"
cscript /nologo translate.js /sourcelang:"serbian" /release:"..\..\bin10\Release%tp%\Languages\langpack_serbian.txt"
cscript /nologo translate.js /sourcelang:"spanish" /release:"..\..\bin10\Release%tp%\Languages\langpack_spanish.txt"
REM cscript /nologo translate.js /sourcelang:"turkish" /release:"..\..\bin10\Release%tp%\Languages\langpack_turkish.txt"
del /f /q ..\..\bin10\Release%tp%\*_nodupes.txt
popd

REM md "Release%tp%\Dictionaries"
md "Release%tp%\Docs"
md "Release%tp%\Gadgets"
md "Release%tp%\Sounds"
md "Release%tp%\Scripts"
md "Release%tp%\Plugins\Listeningto"
md "Release%tp%\Plugins\BASS"
md "Release%tp%\Plugins\Quotes"
md "Release%tp%\Plugins\Weather"

copy /V /Y ..\plugins\FavContacts\gadget\favcontacts.gadget "Release%tp%\Gadgets\"
REM copy /V /Y ..\plugins\SpellChecker\Docs\Dictionaries\*.* "Release%tp%\Dictionaries\"
copy /V /Y ..\plugins\Nudge\docs\Sounds\*.wav "Release%tp%\Sounds\"
REM copy /V /Y ..\plugins\MirLua\docs\examples\*.lua "Release%tp%\Scripts\"
copy /V /Y ..\plugins\ListeningTo\listeningto\*.dll "Release%tp%\Plugins\Listeningto\"
copy /V /Y ..\plugins\Quotes\docs\Utility\*.xml "Release%tp%\Plugins\Quotes\"
copy /V /Y ..\plugins\Weather\docs\weather\*.ini "Release%tp%\Plugins\Weather\"
copy /V /Y ..\plugins\Actman\services.ini "Release%tp%\Plugins\"
copy /V /Y ..\plugins\Boltun\src\Engine\boltun.mindw "Release%tp%\Plugins\"
copy /V /Y ..\plugins\Watrack\player.ini "Release%tp%\Plugins\"
copy /V /Y ..\plugins\RemovePersonalSettings\docs\RemovePersonalSettings.ini "Release%tp%\"
rem copy /V /Y ..\protocols\FacebookRM\docs\*.* "Release%tp%\Docs\"
rem copy /V /Y ..\protocols\Omegle\docs\*.* "Release%tp%\Docs\"

if /i '%tp%' == '32' (
  md "Release32\Plugins\Importtxt"
  copy /V /Y ..\plugins\ImportTXT\importtxt\*.ini "Release32\Plugins\Importtxt\"
  copy /V /Y ..\redist\pcre3.dll "Release32\Libs"
)

rem xcopy /S /V /Y "..\delphi\%tp%" "Release%tp%"
xcopy /S /V /Y "..\pre-symbols\%tp%" "Symbols%tp%"
xcopy /S /V /Y "..\pre-build\%tp%" "Release%tp%"
copy /v /y ..\tools\checksum\checksum.exe

cd "Release%tp%"
dir /B /S *.dll | ..\rebaser /BASE:13000000
dir /B /S *.mir | ..\rebaser /BASE:12000000
copy /V /Y ..\..\redist\x%tp%\msvc*.dll

set hashes=%cd%\hashes.txt
set checksum=%cd%\..\checksum.exe
set md5=%cd%\..\md5.exe
%checksum% Miranda%tp%.exe > %hashes%
%checksum% msvcp100.dll >> %hashes%
%checksum% msvcr100.dll >> %hashes%
for /f "tokens=1,2 delims= " %%i in ('%md5% Languages\lang*.txt') do echo %%j %%i >> %hashes%

rem get checksum  for folder(first param) and ext (second param)
call :checksum Plugins dll
call :checksum Icons dll

copy /V /Y ..\..\docs\mirandaboot.ini
copy /V /Y ..\..\redist\x%tp%\DbChecker.bat
copy /V /Y ..\..\redist\x%tp%\bass\*.dll "Plugins\BASS"

popd

rem put me at the end of script
rem getting checksum for dlls
rem "goto :eof" here to avoid run this subroutine at the end of script, so script will run till this point, and subroutine will called only where we need it
goto :eof
rem the subroutine itself starts here
:checksum
rem change the dir to first parameter, and remember it
pushd %1
rem now we are here, let's get the hashes for dll
for /F "tokens=1,2 delims= " %%a in ('%checksum% *.%2') do echo %1\%%a %%b >> %hashes%
rem return to the dir, where subroutine was called
popd
rem this is just for the case if another sobroutine will be after this one :)
goto :eof