cannam@254: rem Run this from within the top-level project dir: build\msvc\build.cmd cannam@254: cannam@254: echo on cannam@254: cannam@254: set STARTPWD=%CD% cannam@254: cannam@254: set vcvarsall="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" cannam@254: cannam@254: if not exist %vcvarsall% ( cannam@254: @ echo "Could not find MSVC vars batch file" cannam@254: @ exit /b 2 c@212: ) cannam@254: cannam@254: set SMLNJDIR=C:\Program Files (x86)\SMLNJ cannam@254: if not exist "%SMLNJDIR%\bin" ( cannam@254: @ echo Could not find SML/NJ, required for Repoint cannam@254: @ exit /b 2 cannam@254: ) cannam@254: cannam@254: set WIXDIR=C:\Program Files (x86)\WiX Toolset v3.11 cannam@254: if not exist "%WIXDIR%\bin" ( cannam@254: @ echo Could not find WiX Toolset cannam@254: @ exit /b 2 cannam@254: ) cannam@254: cannam@254: set NAME=Open Source Developer, Christopher Cannam cannam@254: cannam@254: set ORIGINALPATH=%PATH% cannam@254: set PATH=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin;%PATH% cannam@254: cannam@254: set ARG=%1 cannam@254: shift cannam@254: if "%ARG%" == "sign" ( cannam@254: @ echo NOTE: sign option specified, will attempt to codesign exe and msi cannam@254: @ echo NOTE: starting by codesigning an unrelated executable, so we know cannam@254: @ echo NOTE: whether it'll work before doing the entire build cannam@254: copy "%SMLNJDIR%\bin\.run\run.x86-win32.exe" signtest.exe cannam@254: signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a signtest.exe cannam@254: if errorlevel 1 exit /b %errorlevel% cannam@254: signtool verify /pa signtest.exe cannam@254: if errorlevel 1 exit /b %errorlevel% cannam@254: del signtest.exe cannam@254: @ echo NOTE: success cannam@254: ) else ( cannam@254: @ echo NOTE: sign option not specified, will not codesign anything cannam@254: ) cannam@254: cannam@254: call %vcvarsall% amd64 cannam@254: cannam@254: set PATH=%SMLNJDIR%\bin;%WIXDIR%\bin;%PATH% cannam@254: cannam@254: cd %STARTPWD% cannam@254: cannam@254: call .\repoint install cannam@254: if %errorlevel% neq 0 exit /b %errorlevel% cannam@254: cannam@254: cd build\msvc cannam@254: msbuild QMVampPlugins.sln /t:Rebuild /p:Configuration=Release cannam@254: if %errorlevel% neq 0 exit /b %errorlevel% cannam@254: cannam@254: cd %STARTPWD% cannam@254: cannam@254: call %vcvarsall% x86 cannam@254: cannam@254: cd build\msvc cannam@254: msbuild QMVampPlugins.sln /t:Rebuild /p:Configuration=Release cannam@254: if %errorlevel% neq 0 exit /b %errorlevel% cannam@254: cannam@263: if "%ARG%" == "sign" ( cannam@263: @echo Signing plugins cannam@263: signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a Release\qm-vamp-plugins.dll cannam@263: signtool verify /pa Release\qm-vamp-plugins.dll cannam@263: signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a x64\Release\qm-vamp-plugins.dll cannam@263: signtool verify /pa x64\Release\qm-vamp-plugins.dll cannam@263: ) cannam@263: cannam@254: del qm-vamp-plugins.msi cannam@254: candle -v qm-vamp-plugins.wxs cannam@254: light -ext WixUIExtension -v qm-vamp-plugins.wixobj cannam@254: if %errorlevel% neq 0 exit /b %errorlevel% cannam@254: del qm-vamp-plugins.wixobj cannam@254: del qm-vamp-plugins.wixpdb cannam@254: cannam@254: if "%ARG%" == "sign" ( cannam@254: @echo Signing package cannam@254: signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a qm-vamp-plugins.msi cannam@254: signtool verify /pa qm-vamp-plugins.msi cannam@254: ) cannam@254: cannam@254: set PATH=%ORIGINALPATH% cannam@254: cannam@254: cd %STARTPWD% cannam@254: @echo Done cannam@254: