changeset 254:9e80b8d7a5c4

Windows build & packaging updates
author Chris Cannam <cannam@all-day-breakfast.com>
date Fri, 24 Jan 2020 16:22:12 +0000
parents 508a0b5fe1fa
children 1838cb091362
files build/msvc/QMVampPlugins.vcxproj build/msvc/build.cmd build/msvc/qm-vamp-plugins.wxs
diffstat 3 files changed, 91 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/build/msvc/QMVampPlugins.vcxproj	Fri Jan 17 10:59:58 2020 +0000
+++ b/build/msvc/QMVampPlugins.vcxproj	Fri Jan 24 16:22:12 2020 +0000
@@ -21,28 +21,28 @@
   <PropertyGroup Label="Globals">
     <ProjectGuid>{1F995CF1-8B4B-445C-824D-09B3268DB29D}</ProjectGuid>
     <Keyword>Win32Proj</Keyword>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+    <WindowsTargetPlatformMinVersion>10.0</WindowsTargetPlatformMinVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
--- a/build/msvc/build.cmd	Fri Jan 17 10:59:58 2020 +0000
+++ b/build/msvc/build.cmd	Fri Jan 24 16:22:12 2020 +0000
@@ -1,11 +1,86 @@
-@ECHO OFF
-SET WIXPATH="C:\Program Files (x86)\WiX Toolset v3.11\bin"
-IF NOT EXIST %WIXPATH% (
-    SET WIXPATH="C:\Program Files\WiX Toolset v3.11\bin"
+rem  Run this from within the top-level project dir: build\msvc\build.cmd
+
+echo on
+
+set STARTPWD=%CD%
+
+set vcvarsall="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat"
+
+if not exist %vcvarsall% (
+@   echo "Could not find MSVC vars batch file"
+@   exit /b 2
 )
-DEL qm-vamp-plugins.msi
-%WIXPATH%\candle.exe -v qm-vamp-plugins.wxs
-%WIXPATH%\light.exe -ext WixUIExtension -v qm-vamp-plugins.wixobj
-PAUSE
-DEL qm-vamp-plugins.wixobj
-DEL qm-vamp-plugins.wixpdb
+
+set SMLNJDIR=C:\Program Files (x86)\SMLNJ
+if not exist "%SMLNJDIR%\bin" (
+@   echo Could not find SML/NJ, required for Repoint
+@   exit /b 2
+)
+
+set WIXDIR=C:\Program Files (x86)\WiX Toolset v3.11
+if not exist "%WIXDIR%\bin" (
+@   echo Could not find WiX Toolset
+@   exit /b 2
+)
+
+set NAME=Open Source Developer, Christopher Cannam
+
+set ORIGINALPATH=%PATH%
+set PATH=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin;%PATH%
+
+set ARG=%1
+shift
+if "%ARG%" == "sign" (
+@   echo NOTE: sign option specified, will attempt to codesign exe and msi
+@   echo NOTE: starting by codesigning an unrelated executable, so we know
+@   echo NOTE: whether it'll work before doing the entire build
+copy "%SMLNJDIR%\bin\.run\run.x86-win32.exe" signtest.exe
+signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a signtest.exe
+if errorlevel 1 exit /b %errorlevel%
+signtool verify /pa signtest.exe
+if errorlevel 1 exit /b %errorlevel%
+del signtest.exe
+@   echo NOTE: success
+) else (
+@   echo NOTE: sign option not specified, will not codesign anything
+)
+
+call %vcvarsall% amd64
+
+set PATH=%SMLNJDIR%\bin;%WIXDIR%\bin;%PATH%
+
+cd %STARTPWD%
+
+call .\repoint install
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+cd build\msvc
+msbuild QMVampPlugins.sln /t:Rebuild /p:Configuration=Release
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+cd %STARTPWD%
+
+call %vcvarsall% x86
+
+cd build\msvc
+msbuild QMVampPlugins.sln /t:Rebuild /p:Configuration=Release
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+del qm-vamp-plugins.msi
+candle -v qm-vamp-plugins.wxs
+light -ext WixUIExtension -v qm-vamp-plugins.wixobj
+if %errorlevel% neq 0 exit /b %errorlevel%
+del qm-vamp-plugins.wixobj
+del qm-vamp-plugins.wixpdb
+
+if "%ARG%" == "sign" (
+@echo Signing package
+signtool sign /v /n "%NAME%" /t http://time.certum.pl /fd sha1 /a qm-vamp-plugins.msi
+signtool verify /pa qm-vamp-plugins.msi
+)
+
+set PATH=%ORIGINALPATH%
+
+cd %STARTPWD%
+@echo Done
+
--- a/build/msvc/qm-vamp-plugins.wxs	Fri Jan 17 10:59:58 2020 +0000
+++ b/build/msvc/qm-vamp-plugins.wxs	Fri Jan 24 16:22:12 2020 +0000
@@ -5,7 +5,7 @@
       Id="*"
       Language="1033"
       Codepage="1252" 
-      Version="1.7.1.1"
+      Version="1.8"
       UpgradeCode="7d427a49-7a1e-45d4-a181-c75fe8f489b7"
       Manufacturer="Queen Mary, University of London">