aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2022-09-18 09:33:20 -0400
committerXavier Claessens <xclaesse@gmail.com>2022-09-21 18:32:51 -0400
commitbb4c8c07f80a9d5503655e38f5073adce663aaa5 (patch)
tree823e043058a7bfb2df2b14232abe7626c768e898 /mesonbuild
parent496dce0666d8be925452d50d75fb46ef0f6b29a6 (diff)
downloadmeson-bb4c8c07f80a9d5503655e38f5073adce663aaa5.zip
meson-bb4c8c07f80a9d5503655e38f5073adce663aaa5.tar.gz
meson-bb4c8c07f80a9d5503655e38f5073adce663aaa5.tar.bz2
Fix cmd_or_ps.ps1 script with pwsh7
gwmi command does not exist any more and is replaced by Get-CimInstance. See https://github.com/PowerShell/PowerShell/issues/4766. While at it, use a do..while loop to avoid duplicated lines. Fixes: #10820
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/scripts/cmd_or_ps.ps119
1 files changed, 7 insertions, 12 deletions
diff --git a/mesonbuild/scripts/cmd_or_ps.ps1 b/mesonbuild/scripts/cmd_or_ps.ps1
index 1d677d9..96c32e2 100644
--- a/mesonbuild/scripts/cmd_or_ps.ps1
+++ b/mesonbuild/scripts/cmd_or_ps.ps1
@@ -1,22 +1,17 @@
# Copied from GStreamer project
# Author: Seungha Yang <seungha.yang@navercorp.com>
+# Xavier Claessens <xclaesse@gmail.com>
$i=1
-$ppid=(gwmi win32_process -Filter "processid='$pid'").parentprocessid
-$pname=(Get-Process -id $ppid).Name
-While($true) {
+$ppid=$PID
+do {
+ $ppid=(Get-CimInstance Win32_Process -Filter "ProcessId=$ppid").parentprocessid
+ $pname=(Get-Process -id $ppid).Name
if($pname -eq "cmd" -Or $pname -eq "powershell" -Or $pname -eq "pwsh") {
Write-Host ("{0}.exe" -f $pname)
Break
}
-
+ # not found yet, find grand parent
# 10 times iteration seems to be sufficient
- if($i -gt 10) {
- Break
- }
-
- # not found yet, find grand parant
- $ppid=(gwmi win32_process -Filter "processid='$ppid'").parentprocessid
- $pname=(Get-Process -id $ppid).Name
$i++
-}
+} while ($i -lt 10)