81 lines
2.0 KiB
PowerShell
Vendored
81 lines
2.0 KiB
PowerShell
Vendored
<#
|
|
.SYNOPSIS
|
|
Downloads dependencies for compiling SourceMod.
|
|
.PARAMETER SDKs
|
|
List of HL2SDK branch names to downloads.
|
|
#>
|
|
|
|
[CmdletBinding()]
|
|
param(
|
|
[string[]]$SDKs = @(
|
|
'csgo',
|
|
'hl2dm',
|
|
'nucleardawn',
|
|
'l4d2',
|
|
'dods',
|
|
'l4d',
|
|
'css',
|
|
'tf2',
|
|
'insurgency',
|
|
'sdk2013',
|
|
'dota'
|
|
)
|
|
)
|
|
|
|
Function Checkout-Repo
|
|
{
|
|
param(
|
|
[Parameter(Mandatory=$true)][string]$Name,
|
|
[Parameter(Mandatory=$true)][string]$Branch,
|
|
[Parameter(Mandatory=$true)][string]$Repo,
|
|
[string]$Origin
|
|
)
|
|
|
|
If (-not (Test-Path $Name -PathType Container))
|
|
{
|
|
& git clone $Repo -b $Branch $Name 2>&1 | Write-Host
|
|
If ($Origin)
|
|
{
|
|
Set-Location $Name
|
|
& git remote rm origin 2>&1 | Write-Host
|
|
& git remote add origin $Origin 2>&1 | Write-Host
|
|
Set-Location ..
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Set-Location $Name
|
|
& git checkout $Branch 2>&1 | Write-Host
|
|
& git pull origin $Branch 2>&1 | Write-Host
|
|
Set-Location ..
|
|
}
|
|
}
|
|
|
|
if (-not (Test-Path "sourcemod" -PathType Container))
|
|
{
|
|
Write-Error "Could not find a SourceMod repository; make sure you aren't running this script inside it."
|
|
Exit 1
|
|
}
|
|
|
|
Checkout-Repo -Name "mmsource-1.10" -Branch "1.10-dev" -Repo "https://github.com/alliedmodders/metamod-source.git"
|
|
|
|
if (-not (Test-Path "hl2sdk-proxy-repo" -PathType Container))
|
|
{
|
|
& git clone --mirror https://github.com/alliedmodders/hl2sdk hl2sdk-proxy-repo 2>&1 | Write-Host
|
|
}
|
|
else
|
|
{
|
|
Set-Location hl2sdk-proxy-repo
|
|
& git fetch 2>&1 | Write-Host
|
|
Set-Location ..
|
|
}
|
|
|
|
$SDKS | % {
|
|
Checkout-Repo -Name "hl2sdk-$_" -Branch $_ "hl2sdk-proxy-repo" -Repo "https://github.com/alliedmodders/hl2sdk.git"
|
|
}
|
|
|
|
Checkout-Repo -Name "ambuild" -Branch "master" -Repo "https://github.com/alliedmodders/ambuild.git"
|
|
Set-Location ambuild
|
|
& python setup.py install
|
|
|
|
Set-Location .. |