74 lines
2.0 KiB
PowerShell
74 lines
2.0 KiB
PowerShell
|
|
Param(
|
||
|
|
[Parameter(Mandatory = $false)]
|
||
|
|
[Alias("std")]
|
||
|
|
[ValidateNotNullOrEmpty()]
|
||
|
|
[ValidateSet(17, 20)]
|
||
|
|
[int]$CXX_STANDARD = 17,
|
||
|
|
[Parameter(Mandatory = $false)]
|
||
|
|
[Alias("arch")]
|
||
|
|
[string]$CUDA_ARCH = "",
|
||
|
|
[Parameter(Mandatory = $false)]
|
||
|
|
[Alias("no-lid")]
|
||
|
|
[switch]$NO_LID_SWITCH = $false,
|
||
|
|
[Parameter(Mandatory = $false)]
|
||
|
|
[Alias("lid0")]
|
||
|
|
[switch]$LID0_SWITCH = $false,
|
||
|
|
[Parameter(Mandatory = $false)]
|
||
|
|
[Alias("lid1")]
|
||
|
|
[switch]$LID1_SWITCH = $false,
|
||
|
|
[Parameter(Mandatory = $false)]
|
||
|
|
[Alias("lid2")]
|
||
|
|
[switch]$LID2_SWITCH = $false,
|
||
|
|
[Parameter(Mandatory = $false)]
|
||
|
|
[Alias("cmake-options")]
|
||
|
|
[string]$CMAKE_OPTIONS = ""
|
||
|
|
)
|
||
|
|
|
||
|
|
$ErrorActionPreference = "Stop"
|
||
|
|
|
||
|
|
$CURRENT_PATH = Split-Path $pwd -leaf
|
||
|
|
If($CURRENT_PATH -ne "ci") {
|
||
|
|
Write-Host "Moving to ci folder"
|
||
|
|
pushd "$PSScriptRoot/.."
|
||
|
|
}
|
||
|
|
|
||
|
|
Import-Module -Name "$PSScriptRoot/build_common.psm1" -ArgumentList @($CXX_STANDARD, $CUDA_ARCH, $CMAKE_OPTIONS)
|
||
|
|
|
||
|
|
$PRESET = "cub"
|
||
|
|
$artifactTag = ""
|
||
|
|
$variantArg = ""
|
||
|
|
if ($NO_LID_SWITCH) {
|
||
|
|
$artifactTag = "no_lid"
|
||
|
|
$PRESET = "cub-nolid"
|
||
|
|
$variantArg = "-no-lid"
|
||
|
|
} elseif ($LID0_SWITCH) {
|
||
|
|
$artifactTag = "lid_0"
|
||
|
|
$PRESET = "cub-lid0"
|
||
|
|
$variantArg = "-lid0"
|
||
|
|
} elseif ($LID1_SWITCH) {
|
||
|
|
$artifactTag = "lid_1"
|
||
|
|
$PRESET = "cub-lid1"
|
||
|
|
$variantArg = "-lid1"
|
||
|
|
} elseif ($LID2_SWITCH) {
|
||
|
|
$artifactTag = "lid_2"
|
||
|
|
$PRESET = "cub-lid2"
|
||
|
|
$variantArg = "-lid2"
|
||
|
|
}
|
||
|
|
|
||
|
|
if ($env:GITHUB_ACTIONS -and $artifactTag) {
|
||
|
|
$producerId = (& bash "./util/workflow/get_producer_id.sh").Trim()
|
||
|
|
$artifactName = "z_cub-test-artifacts-$env:DEVCONTAINER_NAME-$producerId-$artifactTag"
|
||
|
|
Write-Host "Unpacking artifact '$artifactName'"
|
||
|
|
& bash "./util/artifacts/download_packed.sh" "$artifactName" "../"
|
||
|
|
} else {
|
||
|
|
$buildCmd = "$PSScriptRoot/build_cub.ps1 -std $CXX_STANDARD -arch '$CUDA_ARCH' -cmake-options '$CMAKE_OPTIONS' $variantArg"
|
||
|
|
Write-Host "Running: $buildCmd"
|
||
|
|
Invoke-Expression $buildCmd
|
||
|
|
}
|
||
|
|
|
||
|
|
test_preset "CUB ($PRESET)" "$PRESET"
|
||
|
|
|
||
|
|
If($CURRENT_PATH -ne "ci") {
|
||
|
|
popd
|
||
|
|
}
|