summaryrefslogtreecommitdiffstats
path: root/mesonbuild/scripts/cmd_or_ps.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/scripts/cmd_or_ps.ps1')
-rw-r--r--mesonbuild/scripts/cmd_or_ps.ps117
1 files changed, 17 insertions, 0 deletions
diff --git a/mesonbuild/scripts/cmd_or_ps.ps1 b/mesonbuild/scripts/cmd_or_ps.ps1
new file mode 100644
index 0000000..96c32e2
--- /dev/null
+++ b/mesonbuild/scripts/cmd_or_ps.ps1
@@ -0,0 +1,17 @@
+# Copied from GStreamer project
+# Author: Seungha Yang <seungha.yang@navercorp.com>
+# Xavier Claessens <xclaesse@gmail.com>
+
+$i=1
+$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
+ $i++
+} while ($i -lt 10)