annotate deploy/win/build-64-static.bat @ 394:885960538dd4

Build a static-ish binary
author Chris Cannam
date Tue, 09 Jun 2020 16:59:44 +0100
parents
children
rev   line source
Chris@394 1
Chris@394 2 rem Using Qt Base module thus:
Chris@394 3 rem .\configure -static -static-runtime -release -platform win32-msvc -no-opengl -no-angle -nomake examples -prefix C:\Qt\5.14.1-static
Chris@394 4
Chris@394 5 set QTDIR=C:\Qt\5.14.1-static-msvc2015
Chris@394 6 if not exist %QTDIR% (
Chris@394 7 @ echo Could not find 64-bit Qt in %QTDIR%
Chris@394 8 @ exit /b 2
Chris@394 9 )
Chris@394 10
Chris@394 11 rem Not 2019! Its APIs are too new for use in our static build
Chris@394 12 rem set vcvarsall="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat"
Chris@394 13 set vcvarsall="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
Chris@394 14
Chris@394 15 if not exist %vcvarsall% (
Chris@394 16 @ echo "Could not find MSVC vars batch file"
Chris@394 17 @ exit /b 2
Chris@394 18 )
Chris@394 19
Chris@394 20 set SMLNJDIR=C:\Program Files (x86)\SMLNJ
Chris@394 21 if not exist "%SMLNJDIR%\bin" (
Chris@394 22 @ echo Could not find SML/NJ, required for Repoint
Chris@394 23 @ exit /b 2
Chris@394 24 )
Chris@394 25
Chris@394 26 call %vcvarsall% amd64
Chris@394 27 if %errorlevel% neq 0 exit /b %errorlevel%
Chris@394 28
Chris@394 29 set ORIGINALPATH=%PATH%
Chris@394 30 set PATH=%PATH%;%SMLNJDIR%\bin;%QTDIR%\bin
Chris@394 31 set NAME=Open Source Developer, Christopher Cannam
Chris@394 32
Chris@394 33 set ARG=%1
Chris@394 34 shift
Chris@394 35 if "%ARG%" == "sign" (
Chris@394 36 @ echo NOTE: sign option specified, will attempt to codesign exe and msi
Chris@394 37 @ echo NOTE: starting by codesigning an unrelated executable, so we know
Chris@394 38 @ echo NOTE: whether it'll work before doing the entire build
Chris@394 39 copy "%SMLNJDIR%\bin\.run\run.x86-win32.exe" signtest.exe
Chris@394 40 signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a signtest.exe
Chris@394 41 if errorlevel 1 exit /b %errorlevel%
Chris@394 42 signtool verify /pa signtest.exe
Chris@394 43 if errorlevel 1 exit /b %errorlevel%
Chris@394 44 del signtest.exe
Chris@394 45 @ echo NOTE: success
Chris@394 46 ) else (
Chris@394 47 @ echo NOTE: sign option not specified, will not codesign anything
Chris@394 48 )
Chris@394 49
Chris@394 50 cd %STARTPWD%
Chris@394 51
Chris@394 52 call .\repoint install
Chris@394 53 if %errorlevel% neq 0 exit /b %errorlevel%
Chris@394 54
Chris@394 55 mkdir build_win64_static
Chris@394 56 cd build_win64_static
Chris@394 57
Chris@394 58 qmake -spec win32-msvc -r -tp vc ..\sonic-annotator.pro
Chris@394 59 if %errorlevel% neq 0 exit /b %errorlevel%
Chris@394 60
Chris@394 61 mkdir o
Chris@394 62
Chris@394 63 msbuild sonic-annotator.sln /t:Build /p:Configuration=Release
Chris@394 64 if %errorlevel% neq 0 exit /b %errorlevel%
Chris@394 65
Chris@394 66 rem Sadly this static build is not totally static
Chris@394 67 copy ..\sv-dependency-builds\win64-msvc\lib\libsndfile-1.dll .\release
Chris@394 68
Chris@394 69 .\release\test-svcore-base
Chris@394 70 .\release\test-svcore-system
Chris@394 71
Chris@394 72 .\release\sonic-annotator -v
Chris@394 73
Chris@394 74 set PATH=%ORIGINALPATH%
Chris@394 75 cd %STARTPWD%