-
Notifications
You must be signed in to change notification settings - Fork 32
/
Step9-BuildMSI.ps1
69 lines (53 loc) · 3.18 KB
/
Step9-BuildMSI.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# GNURadio Windows Build System
# Geof Nieboer
# Step9_BuildMSI.ps1
#
# script setup
$ErrorActionPreference = "Stop"
# setup helper functions
$mypath = Split-Path $script:MyInvocation.MyCommand.Path
if (Test-Path $mypath\Setup.ps1) {
. $mypath\Setup.ps1 -Force
} else {
. $root\scripts\Setup.ps1 -Force
}
$configmode = $args[0]
if ($configmode -eq $null) {$configmode = "all"}
SetLog "MSI Creation"
cd $root\src-stage4-installer
New-Item -ItemType Directory -Force build 2>&1 >> $Log
Write-Host "Building MSI packages"
Function BuildMSI {
$configuration = $args[0]
Write-Host -NoNewline "Building $configuration package..."
CheckNoAVX "$root/src-stage3/staged_install/$configuration"
cd $root\src-stage4-installer
New-Item -ItemType Directory -Force build\$configuration 2>&1 >> $Log
msbuild gnuradio-winstaller.wixproj /m /p:"configuration=$configuration;root=$root;platform=x64" 2>&1 >> $Log
Validate "$root/src-stage4-installer/dist/$configuration/gnuradio_win64.msi"
if ($configuration -match "AVX2") {
Move-Item -Force -Path $root/src-stage4-installer/dist/$configuration/gnuradio_win64.msi $root/src-stage4-installer/dist/$configuration/gnuradio_$gnuradio_version`_win64_avx2.msi
} else {
Move-Item -Force -Path $root/src-stage4-installer/dist/$configuration/gnuradio_win64.msi $root/src-stage4-installer/dist/$configuration/gnuradio_$gnuradio_version`_win64.msi
}
}
Function ConsolidatePDBs {
$configuration = $args[0]
New-Item -ItemType Directory -Force $root\src-stage4-installer\symbols\$configuration 2>&1 >> $Log
pushd $root\src-stage1-dependencies
Get-ChildItem -Recurse -Filter "$configuration" -Directory | Get-ChildItem -Recurse -Directory | Get-ChildItem -Filter "*.pdb" | Copy-Item -Destination ..\src-stage4-installer\symbols\$configuration -Force
Get-ChildItem -Recurse -Filter "${configuration}DLL" -Directory | Get-ChildItem -Recurse -Directory | Get-ChildItem -Filter "*.pdb" | Copy-Item -Destination ..\src-stage4-installer\symbols\$configuration -Force
Get-ChildItem -Recurse -Filter "$configuration" -Directory | Get-ChildItem -Filter "*.pdb" | Copy-Item -Destination ..\src-stage4-installer\symbols\$configuration -Force
Get-ChildItem -Recurse -Filter "${configuration}DLL" -Directory | Get-ChildItem -Filter "*.pdb" | Copy-Item -Destination ..\src-stage4-installer\symbols\$configuration -Force
popd
pushd $root\src-stage3
Get-ChildItem -Recurse -Filter "$configuration" -Directory | Get-ChildItem -Recurse -Directory | Get-ChildItem -Filter "*.pdb" | Copy-Item -Destination ..\src-stage4-installer\symbols\$configuration -Force
Get-ChildItem -Recurse -Filter "${configuration}DLL" -Directory | Get-ChildItem -Recurse -Directory | Get-ChildItem -Filter "*.pdb" | Copy-Item -Destination ..\src-stage4-installer\symbols\$configuration -Force
popd
}
if ($configmode -eq "1" -or $configmode -eq "all") {BuildMSI "Release"; ConsolidatePDBs "Release"}
if ($configmode -eq "2" -or $configmode -eq "all") {BuildMSI "Release-AVX2"}
if ($configmode -eq "3" -or $configmode -eq "all") {BuildMSI "Debug"; ConsolidatePDBs "Debug"}
""
"COMPLETED STEP 9: .msi files have been created and can be found in $root/src-stage4-installer/dist/(configuration)/gnuradio_${gnuradio_version}_win64.msi"
""