Chris@125: rem Run this from within the top-level SV dir: deploy\win32\build-32.bat Chris@125: rem To build from clean, delete the folder build_win32 first Chris@125: Chris@125: echo on Chris@125: Chris@125: set STARTPWD=%CD% Chris@125: Chris@125: rem Using Qt Base module thus (in MSVC 2015 developer prompt with x86 vars set): Chris@125: 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: rem nmake Chris@125: rem nmake install Chris@125: rem Chris@125: rem Note you also need the Qt SVG module, in which: Chris@125: rem c:\qt\5.14.1-static-32bit\bin\qmake.exe qtsvg.pro -r -spec win32-msvc Chris@125: rem nmake Chris@125: rem nmake install Chris@125: Chris@125: set QTDIR=C:\Qt\5.14.1-static-msvc2015-32bit Chris@125: if not exist %QTDIR% ( Chris@125: @ echo Could not find 32-bit Qt in %QTDIR% Chris@125: @ exit /b 2 Chris@125: ) Chris@125: Chris@125: rem Not 2019! Its APIs are too new for use in our static build Chris@125: rem set vcvarsall="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" Chris@125: set vcvarsall="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" Chris@125: Chris@125: if not exist %vcvarsall% ( Chris@125: @ echo "Could not find MSVC vars batch file" Chris@125: @ exit /b 2 Chris@125: ) Chris@125: Chris@125: set SMLNJDIR=C:\Program Files (x86)\SMLNJ Chris@125: if not exist "%SMLNJDIR%\bin" ( Chris@125: @ echo Could not find SML/NJ, required for Repoint Chris@125: @ exit /b 2 Chris@125: ) Chris@125: Chris@125: call %vcvarsall% x86 Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: Chris@125: set ORIGINALPATH=%PATH% Chris@125: set PATH=%PATH%;%SMLNJDIR%\bin;%QTDIR%\bin Chris@125: set NAME=Open Source Developer, Christopher Cannam Chris@125: Chris@125: set ARG=%1 Chris@125: shift Chris@125: if "%ARG%" == "sign" ( Chris@125: @ echo NOTE: sign option specified, will attempt to codesign exe and msi Chris@125: @ echo NOTE: starting by codesigning an unrelated executable, so we know Chris@125: @ echo NOTE: whether it'll work before doing the entire build Chris@125: copy "%SMLNJDIR%\bin\.run\run.x86-win32.exe" signtest.exe Chris@125: signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a signtest.exe Chris@125: if errorlevel 1 exit /b %errorlevel% Chris@125: signtool verify /pa signtest.exe Chris@125: if errorlevel 1 exit /b %errorlevel% Chris@125: del signtest.exe Chris@125: @ echo NOTE: success Chris@125: ) else ( Chris@125: @ echo NOTE: sign option not specified, will not codesign anything Chris@125: ) Chris@125: Chris@125: cd %STARTPWD% Chris@125: Chris@125: call .\repoint install Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: Chris@125: rem This is the same as in the 64-bit build Chris@125: PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& 'deploy\win64\copy-metadata.ps1' " Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: Chris@125: rem So is this Chris@126: call .\deploy\win64\generate-qrc installer_a.qrc Chris@126: if %errorlevel% neq 0 exit /b %errorlevel% Chris@126: Chris@126: call .\deploy\win64\generate-qrc installer_b.qrc Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: Chris@125: mkdir build_win32 Chris@125: cd build_win32 Chris@125: Chris@125: qmake -spec win32-msvc -r -tp vc ..\get-version.pro Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: Chris@125: qmake -spec win32-msvc -r -tp vc ..\plugins.pro Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: Chris@125: mkdir o Chris@125: Chris@125: msbuild get-version.vcxproj /t:Build /p:Configuration=Release Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: copy release\out\get-version.exe ..\out\ Chris@125: Chris@125: msbuild plugins.sln /t:Build /p:Configuration=Release Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: copy release\out\*.dll ..\out\ Chris@125: Chris@125: if "%ARG%" == "sign" ( Chris@125: @echo Signing plugins and version helper Chris@125: signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a ..\out\*.dll ..\out\*.exe Chris@125: signtool verify /pa ..\out\*.dll ..\out\*.exe Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: ) Chris@125: Chris@126: %QTDIR%\bin\rcc --name A ..\installer_a.qrc -o o\qrc_installer_a.cpp Chris@126: if %errorlevel% neq 0 exit /b %errorlevel% Chris@126: Chris@126: %QTDIR%\bin\rcc --name B ..\installer_b.qrc -o o\qrc_installer_b.cpp Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: Chris@125: qmake -spec win32-msvc -r -tp vc ..\installer.pro Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: Chris@125: msbuild "Vamp Plugin Pack Installer.vcxproj" /t:Build /p:Configuration=Release Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: Chris@125: rem copy %QTDIR%\bin\Qt5Core.dll .\release Chris@125: rem copy %QTDIR%\bin\Qt5Gui.dll .\release Chris@125: rem copy %QTDIR%\bin\Qt5Widgets.dll .\release Chris@125: rem copy %QTDIR%\bin\Qt5Network.dll .\release Chris@125: rem copy %QTDIR%\bin\Qt5Xml.dll .\release Chris@125: rem copy %QTDIR%\bin\Qt5Svg.dll .\release Chris@125: rem copy %QTDIR%\bin\Qt5Test.dll .\release Chris@125: rem copy %QTDIR%\plugins\platforms\qminimal.dll .\release Chris@125: rem copy %QTDIR%\plugins\platforms\qwindows.dll .\release Chris@125: rem copy %QTDIR%\plugins\styles\qwindowsvistastyle.dll .\release Chris@125: Chris@125: if "%ARG%" == "sign" ( Chris@125: @echo Signing application Chris@125: signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a release\*.exe release\*.dll Chris@125: signtool verify /pa "release\Vamp Plugin Pack Installer.exe" Chris@125: if %errorlevel% neq 0 exit /b %errorlevel% Chris@125: ) Chris@125: Chris@125: cd .. Chris@125: Chris@125: set PATH=%ORIGINALPATH%