summaryrefslogtreecommitdiff
path: root/tools/build_scripts/z1_ReBuild_Full.bat
blob: efb4f41cafc4bc3f254855a076d9642a52c914b7 (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
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
)

set comp=%2
if "%comp%"=="" (echo "please specify target compiler folder!" && pause && goto :EOF)

call a_SetVar%tp%.bat

if exist git_error.txt del /f /q git_error.txt

pushd %comp%
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

if "%comp%"=="bin15" (
   call "%VS141COMNTOOLS%\..\..\VC\Auxiliary\Build\vcvars%tp%.bat"
)

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

call pascal.bat %tp%

pushd ..\plugins\HistoryPlusPlus
call make.bat %tp%
popd

pushd ..\plugins\NotifyAnything\SendLog 
call compile%tp%.bat "%comp%"
popd

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..\..\%comp%\Release%tp%\Languages\langpack_russian.txt
LangpackSuite.exe \q \pukrainian \n..\..\%comp%\Release%tp%\Languages\langpack_ukrainian.txt
popd

pushd "..\tools\lpgen"
cscript /nologo translate.js /sourcelang:"belarusian" /release:"..\..\%comp%\Release%tp%\Languages\langpack_belarusian.txt"
cscript /nologo translate.js /sourcelang:"bulgarian" /release:"..\..\%comp%\Release%tp%\langpack_bulgarian_nodupes.txt"
copy /B "..\..\%comp%\Release%tp%\langpack_bulgarian_nodupes.txt"+"..\..\langpacks\bulgarian\=DUPES=.txt" ..\..\%comp%\Release%tp%\Languages\langpack_bulgarian.txt
cscript /nologo translate.js /sourcelang:"czech" /release:"..\..\%comp%\Release%tp%\Languages\langpack_czech.txt"
cscript /nologo translate.js /sourcelang:"english_gb" /release:"..\..\%comp%\Release%tp%\Languages\langpack_english_gb.txt"
cscript /nologo translate.js /sourcelang:"french" /release:"..\..\%comp%\Release%tp%\Languages\langpack_french.txt"
cscript /nologo translate.js /sourcelang:"german" /release:"..\..\%comp%\Release%tp%\Languages\langpack_german.txt"
cscript /nologo translate.js /sourcelang:"polish" /release:"..\..\%comp%\Release%tp%\Languages\langpack_polish.txt"
cscript /nologo translate.js /sourcelang:"serbian" /release:"..\..\%comp%\Release%tp%\Languages\langpack_serbian.txt"
cscript /nologo translate.js /sourcelang:"spanish" /release:"..\..\%comp%\Release%tp%\Languages\langpack_spanish.txt"
del /f /q ..\..\%comp%\Release%tp%\*_nodupes.txt
popd

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\CurrencyRates"
md "Release%tp%\Plugins\Weather"

copy /V /Y ..\tools\build_scripts\fixme.cmd "Release%tp%\"
copy /V /Y ..\plugins\FavContacts\gadget\favcontacts.gadget "Release%tp%\Gadgets\"
copy /V /Y ..\plugins\Nudge\docs\Sounds\*.wav "Release%tp%\Sounds\"
copy /V /Y ..\plugins\ListeningTo\listeningto\*.dll "Release%tp%\Plugins\Listeningto\"
copy /V /Y ..\plugins\CurrencyRates\docs\Utility\*.xml "Release%tp%\Plugins\CurrencyRates\"
copy /V /Y ..\plugins\CurrencyRates\CurrencyRatesChart\bin\x%tp%\CurrencyRatesChart.exe "Release%tp%\Plugins\CurrencyRates\"
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 xcopy /S /V /Y "..\delphi\%tp%" "Release%tp%"
xcopy /S /V /Y "..\pre-symbols\%comp%\%tp%" "Symbols%tp%"
xcopy /S /V /Y "..\pre-build\%comp%\%tp%" "Release%tp%"

cd "Release%tp%"
dir /B /S *.dll | %SourceDir%\tools\rebaser\rebaser.exe /BASE:13000000
dir /B /S *.mir | %SourceDir%\tools\rebaser\rebaser.exe /BASE:12000000

set hashes=%cd%\hashes.txt
%SourceDir%\tools\checksum\checksum.exe Miranda%tp%.exe > %hashes%
for /f "tokens=1,2 delims= " %%i in ('%SourceDir%\tools\md5.exe 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 %SourceDir%\tools\build_scripts\redist\x%tp%\bass\*.dll "Plugins\BASS"

popd
exit

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 ('%SourceDir%\tools\checksum\checksum.exe *.%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