File: level_zero_sdk_setup.ps1

package info (click to toggle)
level-zero 1.26.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,468 kB
  • sloc: cpp: 130,327; ansic: 16,197; python: 9,824; makefile: 4
file content (69 lines) | stat: -rw-r--r-- 2,945 bytes parent folder | download
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
<#
 Copyright (C) 2025 Intel Corporation
 SPDX-License-Identifier: MIT
#>

param (
    [string]$sdkVersion,
    [string]$installPath,
    [string]$removeSdkEnvVar
)

if ($removeSdkEnvVar) {
    if ($removeSdkEnvVar -eq "1" -or $removeSdkEnvVar -eq "true") {
        Write-Output "true"
        $removeSdkEnvVarValue = $true
    } elseif ($removeSdkEnvVar -eq "0" -or $removeSdkEnvVar -eq "false") {
        $removeSdkEnvVarValue = $false
    } else {
        Write-Error "Invalid value for 'removeSdkEnvVar'. Must be a boolean value 0,1,true,false."
        Write-Output "Usage: .\level_zero_sdk_setup.ps1 -sdkVersion 1.21.1 -installPath C:\ -removeSdkEnvVar 1"
        exit 1
    }
} else {
    $removeSdkEnvVarValue = $false
}

if (-not $sdkVersion) {
    Write-Error "Parameter 'sdkVersion' is required. Example: 1.21.1"
    Write-Output "Usage: .\level_zero_sdk_setup.ps1 -sdkVersion 1.21.1 -installPath C:\ -[optional]removeSdkEnvVar 1"
    Write-Output "Usage: .\level_zero_sdk_setup.ps1 -sdkVersion 1.21.1 -installPath C:\"
    exit 1
}

if (-not $installPath) {
    Write-Error "Parameter 'installPath' is required.  Example: C:\Users\user\LevelZeroSDK, where LevelZeroSDK is the root directory. Default is SYSTEM_DRIVE:\"
    Write-Output "Usage: .\level_zero_sdk_setup.ps1 -sdkVersion 1.21.1 -installPath C:\Users\user\LevelZeroSDK -[optional]removeSdkEnvVar 1"
    Write-Output "Usage: .\level_zero_sdk_setup.ps1 -sdkVersion 1.21.1 -installPath C:\Users\user\LevelZeroSDK"
    exit 1
}

# Update or set the LEVEL_ZERO_SDK_V<major_version>_PATH environment variable
$majorVersion = $sdkVersion.Split('.')[0]
$envVarName = "LEVEL_ZERO_V${majorVersion}_SDK_PATH"

if ($removeSdkEnvVarValue -eq $true) {
    if (-not [System.Environment]::GetEnvironmentVariable($envVarName, [System.EnvironmentVariableTarget]::Machine)) {
        Write-Error "Environment variable does not exist: $envVarName"
        exit 1
    }
    [System.Environment]::SetEnvironmentVariable($envVarName, $null, [System.EnvironmentVariableTarget]::Machine)
    Write-Output "Environment variable removed: $envVarName"
} else {
    # Define the paths
    $sdkPath = Join-Path -Path $installPath -ChildPath "LevelZeroSDK\$sdkVersion\"

    # Check if the SDK path exists
    if (-not (Test-Path -Path $sdkPath)) {
        Write-Error "The Level Zero SDK path '$sdkPath' does not exist."
        exit 1
    }
    $currentEnvPath = [System.Environment]::GetEnvironmentVariable($envVarName, [System.EnvironmentVariableTarget]::Machine)
    if ($null -eq $currentEnvPath -or $currentEnvPath -notcontains $sdkPath) {
        [System.Environment]::SetEnvironmentVariable($envVarName, $sdkPath, [System.EnvironmentVariableTarget]::Machine)
    }
    Write-Output "Level Zero SDK Path Setup completed successfully."
    Write-Output "Environment variable changed: $envVarName"
    Write-Output "Updated SDK Version: $sdkVersion"
    Write-Output "Updated SDK Path: $sdkPath"
}