Chris@125
|
1 rem Run this from within the top-level SV dir: deploy\win32\build-32.bat
|
Chris@125
|
2 rem To build from clean, delete the folder build_win32 first
|
Chris@125
|
3
|
Chris@125
|
4 echo on
|
Chris@125
|
5
|
Chris@125
|
6 set STARTPWD=%CD%
|
Chris@125
|
7
|
Chris@125
|
8 rem Using Qt Base module thus (in MSVC 2015 developer prompt with x86 vars set):
|
Chris@125
|
9 rem .\configure -static -static-runtime -release -platform win32-msvc -no-opengl -no-angle -nomake examples -prefix C:\Qt\5.14.1-static-32bit
|
Chris@125
|
10 rem nmake
|
Chris@125
|
11 rem nmake install
|
Chris@125
|
12 rem
|
Chris@125
|
13 rem Note you also need the Qt SVG module, in which:
|
Chris@125
|
14 rem c:\qt\5.14.1-static-32bit\bin\qmake.exe qtsvg.pro -r -spec win32-msvc
|
Chris@125
|
15 rem nmake
|
Chris@125
|
16 rem nmake install
|
Chris@125
|
17
|
Chris@125
|
18 set QTDIR=C:\Qt\5.14.1-static-msvc2015-32bit
|
Chris@125
|
19 if not exist %QTDIR% (
|
Chris@125
|
20 @ echo Could not find 32-bit Qt in %QTDIR%
|
Chris@125
|
21 @ exit /b 2
|
Chris@125
|
22 )
|
Chris@125
|
23
|
Chris@125
|
24 rem Not 2019! Its APIs are too new for use in our static build
|
Chris@125
|
25 rem set vcvarsall="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat"
|
Chris@125
|
26 set vcvarsall="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
|
Chris@125
|
27
|
Chris@125
|
28 if not exist %vcvarsall% (
|
Chris@125
|
29 @ echo "Could not find MSVC vars batch file"
|
Chris@125
|
30 @ exit /b 2
|
Chris@125
|
31 )
|
Chris@125
|
32
|
Chris@125
|
33 set SMLNJDIR=C:\Program Files (x86)\SMLNJ
|
Chris@125
|
34 if not exist "%SMLNJDIR%\bin" (
|
Chris@125
|
35 @ echo Could not find SML/NJ, required for Repoint
|
Chris@125
|
36 @ exit /b 2
|
Chris@125
|
37 )
|
Chris@125
|
38
|
Chris@125
|
39 call %vcvarsall% x86
|
Chris@125
|
40 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
41
|
Chris@125
|
42 set ORIGINALPATH=%PATH%
|
Chris@125
|
43 set PATH=%PATH%;%SMLNJDIR%\bin;%QTDIR%\bin
|
Chris@125
|
44 set NAME=Open Source Developer, Christopher Cannam
|
Chris@125
|
45
|
Chris@125
|
46 set ARG=%1
|
Chris@125
|
47 shift
|
Chris@125
|
48 if "%ARG%" == "sign" (
|
Chris@125
|
49 @ echo NOTE: sign option specified, will attempt to codesign exe and msi
|
Chris@125
|
50 @ echo NOTE: starting by codesigning an unrelated executable, so we know
|
Chris@125
|
51 @ echo NOTE: whether it'll work before doing the entire build
|
Chris@125
|
52 copy "%SMLNJDIR%\bin\.run\run.x86-win32.exe" signtest.exe
|
Chris@125
|
53 signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a signtest.exe
|
Chris@125
|
54 if errorlevel 1 exit /b %errorlevel%
|
Chris@125
|
55 signtool verify /pa signtest.exe
|
Chris@125
|
56 if errorlevel 1 exit /b %errorlevel%
|
Chris@125
|
57 del signtest.exe
|
Chris@125
|
58 @ echo NOTE: success
|
Chris@125
|
59 ) else (
|
Chris@125
|
60 @ echo NOTE: sign option not specified, will not codesign anything
|
Chris@125
|
61 )
|
Chris@125
|
62
|
Chris@125
|
63 cd %STARTPWD%
|
Chris@125
|
64
|
Chris@125
|
65 call .\repoint install
|
Chris@125
|
66 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
67
|
Chris@125
|
68 rem This is the same as in the 64-bit build
|
Chris@125
|
69 PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& 'deploy\win64\copy-metadata.ps1' "
|
Chris@125
|
70 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
71
|
Chris@125
|
72 rem So is this
|
Chris@126
|
73 call .\deploy\win64\generate-qrc installer_a.qrc
|
Chris@126
|
74 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@126
|
75
|
Chris@126
|
76 call .\deploy\win64\generate-qrc installer_b.qrc
|
Chris@125
|
77 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
78
|
Chris@125
|
79 mkdir build_win32
|
Chris@125
|
80 cd build_win32
|
Chris@125
|
81
|
Chris@125
|
82 qmake -spec win32-msvc -r -tp vc ..\get-version.pro
|
Chris@125
|
83 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
84
|
Chris@125
|
85 qmake -spec win32-msvc -r -tp vc ..\plugins.pro
|
Chris@125
|
86 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
87
|
Chris@125
|
88 mkdir o
|
Chris@125
|
89
|
Chris@125
|
90 msbuild get-version.vcxproj /t:Build /p:Configuration=Release
|
Chris@125
|
91 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
92 copy release\out\get-version.exe ..\out\
|
Chris@125
|
93
|
Chris@125
|
94 msbuild plugins.sln /t:Build /p:Configuration=Release
|
Chris@125
|
95 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
96 copy release\out\*.dll ..\out\
|
Chris@125
|
97
|
Chris@125
|
98 if "%ARG%" == "sign" (
|
Chris@125
|
99 @echo Signing plugins and version helper
|
Chris@125
|
100 signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a ..\out\*.dll ..\out\*.exe
|
Chris@125
|
101 signtool verify /pa ..\out\*.dll ..\out\*.exe
|
Chris@125
|
102 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
103 )
|
Chris@125
|
104
|
Chris@126
|
105 %QTDIR%\bin\rcc --name A ..\installer_a.qrc -o o\qrc_installer_a.cpp
|
Chris@126
|
106 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@126
|
107
|
Chris@126
|
108 %QTDIR%\bin\rcc --name B ..\installer_b.qrc -o o\qrc_installer_b.cpp
|
Chris@125
|
109 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
110
|
Chris@125
|
111 qmake -spec win32-msvc -r -tp vc ..\installer.pro
|
Chris@125
|
112 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
113
|
Chris@125
|
114 msbuild "Vamp Plugin Pack Installer.vcxproj" /t:Build /p:Configuration=Release
|
Chris@125
|
115 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
116
|
Chris@125
|
117 rem copy %QTDIR%\bin\Qt5Core.dll .\release
|
Chris@125
|
118 rem copy %QTDIR%\bin\Qt5Gui.dll .\release
|
Chris@125
|
119 rem copy %QTDIR%\bin\Qt5Widgets.dll .\release
|
Chris@125
|
120 rem copy %QTDIR%\bin\Qt5Network.dll .\release
|
Chris@125
|
121 rem copy %QTDIR%\bin\Qt5Xml.dll .\release
|
Chris@125
|
122 rem copy %QTDIR%\bin\Qt5Svg.dll .\release
|
Chris@125
|
123 rem copy %QTDIR%\bin\Qt5Test.dll .\release
|
Chris@125
|
124 rem copy %QTDIR%\plugins\platforms\qminimal.dll .\release
|
Chris@125
|
125 rem copy %QTDIR%\plugins\platforms\qwindows.dll .\release
|
Chris@125
|
126 rem copy %QTDIR%\plugins\styles\qwindowsvistastyle.dll .\release
|
Chris@125
|
127
|
Chris@125
|
128 if "%ARG%" == "sign" (
|
Chris@125
|
129 @echo Signing application
|
Chris@125
|
130 signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a release\*.exe release\*.dll
|
Chris@125
|
131 signtool verify /pa "release\Vamp Plugin Pack Installer.exe"
|
Chris@125
|
132 if %errorlevel% neq 0 exit /b %errorlevel%
|
Chris@125
|
133 )
|
Chris@125
|
134
|
Chris@125
|
135 cd ..
|
Chris@125
|
136
|
Chris@125
|
137 set PATH=%ORIGINALPATH%
|