annotate deploy/win32/build-32.bat @ 129:afd72eb2b0aa tip

Added tag v1.0-windows-32bit for changeset 7d5387c63447
author Chris Cannam
date Fri, 12 Jun 2020 17:20:52 +0100
parents 31435b4d9833
children
rev   line source
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%