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