summaryrefslogtreecommitdiff
path: root/packaging/nsis/windeployqt-to-nsis.ps1
blob: a47d00e36347749bb777c3542aab67580d77d76d (plain)
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
# windeployqt-to-nsh
#
# Convert the output of windeployqt to an equivalent set of NSIS "File"
# function calls.

Param(
    [string[]] $Windeployqt,
    [string[]] $Executable
)

$wdqtList = & $Windeployqt `
    --release `
    --no-compiler-runtime `
    --list relative `
    $Executable

$dllPath = Split-Path -Parent $Executable

$dllList = @()
$dirList = @()

foreach ($entry in $wdqtList) {
    $dir = Split-Path -Parent $entry
    if ($dir) {
        $dirList += $dir
    } else {
        $dllList += $entry
    }
}

$dirList = $dirList | Sort-Object | Get-Unique

foreach ($entry in $dllList) {
    write-output "File `"$dllPath\$entry`""
}

foreach ($entry in $dirList) {
    write-output "File /r `"$dllPath\$entry`""
}