forked from microsoft/vcpkg
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
build_mumble_dependencies.ps1
40 lines (33 loc) · 1.62 KB
/
build_mumble_dependencies.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
param (
[string]$TRIPLET = "x64-windows-static-md-release",
[string]$XCOMPILE_TRIPLET = "x86-windows-static-md-release",
[switch]$AUTO = $False
)
if (! $AUTO) {
# Make sure command-prompt stays open if an error is encountered
trap { Read-Host "ERROR encountered... Press Enter to exit" }
}
$MUMBLE_DEPS = Get-Content -Path "$PSScriptRoot\mumble_dependencies.txt"
# Windows-specific dependencies
$MUMBLE_DEPS += "mdnsresponder"
$MUMBLE_DEPS += "icu"
# Always bootstrap vcpkg to ensure we got the latest one
Start-Process -FilePath "$PSScriptRoot\bootstrap-vcpkg.bat" -ArgumentList @( "-disableMetrics" ) -Wait
$EXPORTED_NAME = "mumble_env.$TRIPLET.$( Get-Date -Format "yyyy-MM-dd" ).$( git -C "$PSScriptRoot" rev-parse --short --verify HEAD )"
$ALL_DEPS = @()
if ("$TRIPLET" -ne "$XCOMPILE_TRIPLET") {
Write-Host "Building xcompile dependencies..."
& "$PSScriptRoot/vcpkg.exe" install --triplet "$XCOMPILE_TRIPLET" boost-optional --clean-after-build --recurse
& "$PSScriptRoot/vcpkg.exe" upgrade --triplet "$XCOMPILE_TRIPLET" boost-optional --no-dry-run
$ALL_DEPS += "boost-optional:$XCOMPILE_TRIPLET"
}
foreach ($dep in $MUMBLE_DEPS) {
Write-Host "Building dependency $dep"
& "$PSScriptRoot/vcpkg.exe" install --triplet "$TRIPLET" "$dep" --clean-after-build --recurse
# In case the dependency is already installed, but not up-to-date
# Unfortunately there is no clean-after-build for this one
$dep = $dep -replace '\[.*\]'
& "$PSScriptRoot/vcpkg.exe" upgrade --triplet "$TRIPLET" "$dep" --no-dry-run
$ALL_DEPS += "${dep}:$TRIPLET"
}
& "$PSScriptRoot/vcpkg.exe" export --raw --output "$EXPORTED_NAME" --output-dir "$PSScriptRoot" @ALL_DEPS