forked from espressif/esp-idf
-
Notifications
You must be signed in to change notification settings - Fork 1
/
install.ps1
38 lines (28 loc) · 1.45 KB
/
install.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
#!/usr/bin/env pwsh
param(
[Switch]$h
)
$IDF_PATH = $PSScriptRoot
if($h){
python "$IDF_PATH/tools/install_util.py" print_help ps1
Exit
}
Write-Output "INFO: Using IDF_PATH '$IDF_PATH' for installation."
$TARGETS = (python "$IDF_PATH/tools/install_util.py" extract targets "$args")
Write-Output "Installing ESP-IDF tools"
# PowerShell does not propagate variables to new process (spawned python), so we pass detected IDF_PATH as argument
# to avoid using any previously set IDF_PATH values in the terminal environment.
$proces_tools = Start-Process -Wait -PassThru -NoNewWindow -FilePath "python" -Args "`"$IDF_PATH/tools/idf_tools.py`" --idf-path ${IDF_PATH} install --targets=${TARGETS}"
$exit_code_tools = $proces_tools.ExitCode
if ($exit_code_tools -ne 0) { exit $exit_code_tools } # if error
$FEATURES = (python "$IDF_PATH/tools/install_util.py" extract features "$args")
Write-Output "Setting up Python environment"
# PowerShell does not propagate variables to new process (spawned python), so we pass detected IDF_PATH as argument
# to avoid using any previously set IDF_PATH values in the terminal environment.
$proces_py_env = Start-Process -Wait -PassThru -NoNewWindow -FilePath "python" -Args "`"$IDF_PATH/tools/idf_tools.py`" --idf-path ${IDF_PATH} install-python-env --features=${FEATURES}"
$exit_code_py_env = $proces_py_env.ExitCode
if ($exit_code_py_env -ne 0) { exit $exit_code_py_env } # if error
Write-Output "
All done! You can now run:
export.ps1
"