Set the system timer precision to 1 ms while encoding, because this seems to improve...
[LameXP.git] / etc / Deployment / _deploy.bat
bloba2a3f9119c2d74223e0a0813d772f6bf6780e809
1 @echo off
2 setlocal ENABLEDELAYEDEXPANSION
3 REM ------------------------------------------
4 REM :: SETUP ENVIRONMENT ::
5 REM ------------------------------------------
6 call "%~dp0\_paths.bat"
7 if not "%LAMEXP_ERROR%"=="0" (
8         call "%~dp0\_error.bat" "FAILD TO SETUP PATHS. CHECK YOUR 'BUILDENV.TXT' FILE"
9         GOTO:EOF
11 REM ------------------------------------------
12 if "%LAMEXP_CONFIG%"=="" (
13         set "LAMEXP_CONFIG=Release"
15 if not "%LAMEXP_REDIST%"=="0" (
16         set "LAMEXP_REDIST=1"
18 REM ------------------------------------------
19 REM :: SETUP BUILD DATE ::
20 REM ------------------------------------------
21 call "%~dp0\_date.bat"
22 if not "%LAMEXP_ERROR%"=="0" (
23         call "%~dp0\_error.bat" "FAILD TO SETUP BUILD-DATE"
24         GOTO:EOF
26 REM ------------------------------------------
27 REM :: SETUP PATHS ::
28 REM ------------------------------------------
29 set "OUT_PATH=%~dp0\..\..\bin\%LAMEXP_CONFIG%"
30 set "TMP_PATH=%TEMP%\~LameXP.%LAMEXP_CONFIG%.%ISO_DATE%.%RANDOM%.tmp"
31 set "OBJ_PATH=%~dp0\..\..\obj\%LAMEXP_CONFIG%"
32 set "MOC_PATH=%~dp0\..\..\tmp"
33 set "IPC_PATH=%~dp0\..\..\ipch"
34 REM ------------------------------------------
35 if "%LAMEXP_SKIP_BUILD%"=="YES" (
36         goto SkipBuildThisTime
38 REM ------------------------------------------
39 REM :: CLEAN UP ::
40 REM ------------------------------------------
41 del /Q "%OUT_PATH%\*.exe"
42 del /Q "%OUT_PATH%\*.dll"
43 del /Q "%OBJ_PATH%\*.obj"
44 del /Q "%OBJ_PATH%\*.res"
45 del /Q "%OBJ_PATH%\*.bat"
46 del /Q "%OBJ_PATH%\*.idb"
47 del /Q "%OBJ_PATH%\*.log"
48 del /Q "%OBJ_PATH%\*.manifest"
49 del /Q "%OBJ_PATH%\*.lastbuildstate"
50 del /Q "%OBJ_PATH%\*.htm"
51 del /Q "%OBJ_PATH%\*.dep"
52 del /Q "%MOC_PATH%\*.cpp"
53 del /Q "%MOC_PATH%\*.h"
54 del /Q /S "%IPC_PATH%\*.*"
55 REM ------------------------------------------
56 REM :: BUILD BINARIES ::
57 REM ------------------------------------------
58 call "%~dp0\_lupdate.bat"
59 call "%~dp0\_build.bat" "%~dp0\..\..\%PATH_VCPROJ%" "%LAMEXP_CONFIG%"
60 if not "%LAMEXP_ERROR%"=="0" (
61         call "%~dp0\_error.bat" "BUILD HAS FAILED"
62         GOTO:EOF
64 REM ------------------------------------------
65 :SkipBuildThisTime
66 REM ------------------------------------------
67 REM :: READ VERSION INFO ::
68 REM ------------------------------------------
69 call "%~dp0\_version.bat"
70 if not "%LAMEXP_ERROR%"=="0" (
71         call "%~dp0\_error.bat" "FAILD TO READ VERSION INFO!"
72         GOTO:EOF
74 REM ------------------------------------------
75 mkdir "%~dp0\..\..\out" 2> NUL
76 set "OUT_FILE=%~dp0\..\..\out\%VER_LAMEXP_BASENAME%.%ISO_DATE%.%LAMEXP_CONFIG:_=-%.Build-%VER_LAMEXP_BUILD%"
77 for /L %%n in (1, 1, 99) do (
78         if exist "!OUT_FILE!.exe" set "OUT_FILE=%~dp0\..\..\out\%VER_LAMEXP_BASENAME%.%ISO_DATE%.%LAMEXP_CONFIG:_=-%.Build-%VER_LAMEXP_BUILD%.Update-%%n"
79         if exist "!OUT_FILE!.zip" set "OUT_FILE=%~dp0\..\..\out\%VER_LAMEXP_BASENAME%.%ISO_DATE%.%LAMEXP_CONFIG:_=-%.Build-%VER_LAMEXP_BUILD%.Update-%%n"
81 REM ------------------------------------------
82 REM :: DELETE OLD OUTPUT FILE ::
83 REM ------------------------------------------
84 del "%OUT_FILE%.exe"
85 del "%OUT_FILE%.sfx"
86 del "%OUT_FILE%.zip"
87 del "%OUT_FILE%.txt"
88 REM ------------------------------------------
89 if exist "%OUT_FILE%.exe" (
90         call "%~dp0\_error.bat" "FAILD TO DELET EXISTING FILE"
91         GOTO:EOF
93 if exist "%OUT_FILE%.zip" (
94         call "%~dp0\_error.bat" "FAILD TO DELET EXISTING FILE"
95         GOTO:EOF
97 REM ------------------------------------------
98 REM :: POST BUILD ::
99 REM ------------------------------------------
100 rd /S /Q "%TMP_PATH%"
101 mkdir "%TMP_PATH%"
102 copy "%OUT_PATH%\*.exe" "%TMP_PATH%"
103 REM ------------------------------------------
104 if "%LAMEXP_REDIST%"=="1" (
105         copy "%QTDIR%\bin\QtCore4.dll" "%TMP_PATH%"
106         copy "%QTDIR%\bin\QtGui4.dll" "%TMP_PATH%"
107         copy "%QTDIR%\bin\QtXml4.dll" "%TMP_PATH%"
108         copy "%QTDIR%\bin\QtSvg4.dll" "%TMP_PATH%"
109         mkdir "%TMP_PATH%\imageformats"
110         copy "%QTDIR%\plugins\imageformats\q???4.dll" "%TMP_PATH%\imageformats"
112 REM ------------------------------------------
113 if "%LAMEXP_SKIP_BUILD%"=="YES" (
114         goto SkipPackingThisTime
116 REM ------------------------------------------
117 for %%f in ("%TMP_PATH%\*.exe") do (
118         "%PATH_UPXBIN%\upx.exe" --best "%%f"
120 for %%f in ("%TMP_PATH%\*.dll") do (
121         "%PATH_UPXBIN%\upx.exe" --best "%%f"
123 REM ------------------------------------------
124 :SkipPackingThisTime
125 REM ------------------------------------------
126 if exist "%~dp0\_postproc.bat" (
127         call "%~dp0\_postproc.bat" "%TMP_PATH%"
129 REM ------------------------------------------
130 if "%LAMEXP_REDIST%"=="1" (
131         copy "..\Redist\*.*" "%TMP_PATH%"
133 copy "%~dp0\..\..\ReadMe.txt" "%TMP_PATH%"
134 copy "%~dp0\..\..\License.txt" "%TMP_PATH%"
135 copy "%~dp0\..\..\Copying.txt" "%TMP_PATH%"
136 copy "%~dp0\..\..\doc\Changelog.html" "%TMP_PATH%"
137 copy "%~dp0\..\..\doc\Translate.html" "%TMP_PATH%"
138 copy "%~dp0\..\..\doc\Manual.html" "%TMP_PATH%"
139 copy "%~dp0\..\..\doc\FAQ.html" "%TMP_PATH%"
140 if not "%VER_LAMEXP_TYPE%" == "Final" (
141         if not "%VER_LAMEXP_TYPE%" == "Hotfix" (
142                 copy "%~dp0\..\..\doc\PRE_RELEASE_INFO.txt" "%TMP_PATH%"
143         )
145 attrib +R "%TMP_PATH%\*.txt"
146 attrib +R "%TMP_PATH%\*.html"
147 attrib +R "%TMP_PATH%\*.exe"
148 REM ------------------------------------------
149 REM :: CREATE PACKAGES ::
150 REM ------------------------------------------
151 "%~dp0\..\Utilities\Echo.exe" LameXP - Audio Encoder Front-End > "%OUT_FILE%.txt"
152 "%~dp0\..\Utilities\Echo.exe" v%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO% %VER_LAMEXP_TYPE%-%VER_LAMEXP_PATCH% (Build #%VER_LAMEXP_BUILD%)\n >> "%OUT_FILE%.txt"
153 "%~dp0\..\Utilities\Echo.exe" Built on %ISO_DATE% at %TIME%\n\n >> "%OUT_FILE%.txt"
154 "%~dp0\..\Utilities\Echo.exe" ---------------------------\nREADME.TXT\n--------------------------- >> "%OUT_FILE%.txt"
155 "%~dp0\..\Utilities\Cat.exe" "%~dp0\..\..\ReadMe.txt" >> "%OUT_FILE%.txt"
156 "%~dp0\..\Utilities\Echo.exe" \n\n---------------------------\nLICENSE.TXT\n---------------------------\n >> "%OUT_FILE%.txt"
157 "%~dp0\..\Utilities\Cat.exe" "%~dp0\..\..\License.txt" >> "%OUT_FILE%.txt"
158 REM ------------------------------------------
159 pushd "%TMP_PATH%"
160 "%~dp0\..\Utilities\Zip.exe" -r -9 -z "%OUT_FILE%.zip" "*.*" < "%OUT_FILE%.txt"
161 popd
162 REM ------------------------------------------
163 "%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.sfx" "/DLAMEXP_SOURCE_PATH=%TMP_PATH%" "%~dp0\..\NSIS\setup.nsi"
164 "%PATH_MKNSIS%\makensis.exe" "/DLAMEXP_UPX_PATH=%PATH_UPXBIN%" "/DLAMEXP_DATE=%ISO_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_INSTTYPE=%VER_LAMEXP_TYPE%" "/DLAMEXP_PATCH=%VER_LAMEXP_PATCH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.exe" "/DLAMEXP_SOURCE_FILE=%OUT_FILE%.sfx" "%~dp0\..\NSIS\wrapper.nsi"
165 REM ------------------------------------------
166 attrib -R "%TMP_PATH%\*.txt"
167 attrib -R "%TMP_PATH%\*.html"
168 attrib -R "%TMP_PATH%\*.exe"
169 rd /S /Q "%TMP_PATH%"
170 REM ------------------------------------------
171 if not exist "%OUT_FILE%.zip" (
172         call "%~dp0\_error.bat" "PACKAGING HAS FAILED"
173         GOTO:EOF
175 if not exist "%OUT_FILE%.exe" (
176         call "%~dp0\_error.bat" "PACKAGING HAS FAILED"
177         GOTO:EOF
179 REM ------------------------------------------
180 attrib +R "%OUT_FILE%.zip"
181 attrib +R "%OUT_FILE%.sfx"
182 attrib +R "%OUT_FILE%.exe"
183 REM ------------------------------------------
184 REM :: CREATE SIGNATURE ::
185 REM ------------------------------------------
186 "%PATH_GNUPG1%\gpg.exe" --detach-sign "%OUT_FILE%.exe"
187 attrib +R "%OUT_FILE%.exe.sig"
188 REM ------------------------------------------
189 echo.
190 echo BUIDL COMPLETED SUCCESSFULLY :-)
191 echo.
192 REM ------------------------------------------
193 pause