blob: b3fccad11f0564eefd9b6b8b12d1e1eab30dbf1a [file] [log] [blame]
Andreas Traczyk064451e2018-12-06 16:53:40 -05001[cmdletbinding()]
2param (
3 [string]$daemonDir,
4 [string]$lrcDir
5);
6
7write-host "copying runtime files..."
Andreas Traczyk5b6a60b2018-12-03 17:30:21 -05008
9$QtDir = "C:\Qt\5.9.4\msvc2017_64"
10$ClientDir = split-path -parent $MyInvocation.MyCommand.Definition
11
12$OutDir = $ClientDir + "\x64\Release"
13New-Item -ItemType directory -Path $OutDir -Force
14
Andreas Traczyk064451e2018-12-06 16:53:40 -050015if (-not ($daemonDir)) {
16 $daemonDir = '$ClientDir\..\daemon'
Andreas Traczyk5b6a60b2018-12-03 17:30:21 -050017}
18
Andreas Traczyk064451e2018-12-06 16:53:40 -050019if (-not ($lrcDir)) {
20 $lrcDir = '$ClientDir\..\lrc'
Andreas Traczyk5b6a60b2018-12-03 17:30:21 -050021}
22
23# dependency bin files
24$FilesToCopy = @(
Andreas Traczyk064451e2018-12-06 16:53:40 -050025 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avcodec-58.dll",
26 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avutil-56.dll",
27 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avformat-58.dll",
28 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avdevice-58.dll",
29 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\swresample-3.dll",
30 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\swscale-5.dll",
31 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avfilter-7.dll",
32 "$daemonDir\contrib\build\restbed\dependency\openssl\out32dll\libeay32.dll",
33 "$daemonDir\contrib\build\restbed\dependency\openssl\out32dll\ssleay32.dll",
Andreas Traczyk5b6a60b2018-12-03 17:30:21 -050034 "$ClientDir\winsparkle\x64\Release\WinSparkle.dll",
35 "$ClientDir\ring.nsi",
Sébastien Blincba5b522018-12-10 12:48:36 -050036 "$ClientDir\images\jami.ico"
Andreas Traczykdece1612018-12-07 13:28:34 -050037 "$ClientDir\License.rtf"
Andreas Traczyk5b6a60b2018-12-03 17:30:21 -050038 )
39foreach ($i in $FilesToCopy) {
40 write-host "copying: " $i " => " $OutDir
41 Copy-Item -Path $i -Destination $OutDir -Force
42}
43
44############
45# qt
46############
47
48# qt bin files
49$FilesToCopy = @(
50 "$QtDir\bin\Qt5Core.dll",
51 "$QtDir\bin\Qt5Gui.dll",
52 "$QtDir\bin\Qt5Network.dll",
53 "$QtDir\bin\Qt5Positioning.dll",
54 "$QtDir\bin\Qt5PrintSupport.dll",
55 "$QtDir\bin\Qt5Qml.dll",
56 "$QtDir\bin\Qt5Quick.dll",
57 "$QtDir\bin\Qt5QuickWidgets.dll",
58 "$QtDir\bin\Qt5Sql.dll",
59 "$QtDir\bin\Qt5Svg.dll",
60 "$QtDir\bin\Qt5WebChannel.dll",
61 "$QtDir\bin\Qt5WebEngine.dll",
62 "$QtDir\bin\Qt5WebEngineCore.dll",
63 "$QtDir\bin\Qt5WebEngineWidgets.dll",
64 "$QtDir\bin\Qt5Widgets.dll",
65 "$QtDir\bin\Qt5WinExtras.dll",
66 "$QtDir\bin\Qt5Xml.dll",
Isa Nanic6e4a39a2018-12-04 14:26:02 -050067 "$QtDir\bin\Qt5Multimedia.dll",
68 "$QtDir\bin\Qt5MultimediaWidgets.dll",
Andreas Traczykfa1b9a82018-12-10 17:54:49 -050069 "$QtDir\bin\Qt5OpenGL.dll",
Andreas Traczyk7a9dd452018-12-11 17:17:35 -050070 "$QtDir\bin\libEGL.dll",
71 "$QtDir\bin\libGLESv2.dll",
Andreas Traczyk5b6a60b2018-12-03 17:30:21 -050072 "$QtDir\bin\QtWebEngineProcess.exe",
73 "$QtDir\resources\qtwebengine_resources.pak",
74 "$QtDir\resources\icudtl.dat"
75 )
76foreach ($i in $FilesToCopy) {
77 write-host "copying: " $i " => " $OutDir
78 Copy-Item -Path $i -Destination $OutDir -Force
79}
80
81# qt imageformats
82$FilesToCopy = @(
83 "$QtDir\plugins\imageformats\qgif.dll",
84 "$QtDir\plugins\imageformats\qico.dll",
85 "$QtDir\plugins\imageformats\qjpeg.dll",
86 "$QtDir\plugins\imageformats\qsvg.dll"
87 )
88$CopyDir = $OutDir + "\imageformats"
89New-Item -ItemType directory -Path $CopyDir -Force
90foreach ($i in $FilesToCopy) {
91 write-host "copying: " $i " => " $CopyDir
92 Copy-Item -Path $i -Destination $CopyDir -Force
93}
94
95# qt platform dll for windows
96$CopyDir = $OutDir + "\platforms"
97New-Item -ItemType directory -Path $CopyDir -Force
98$file = "$QtDir\plugins\platforms\qwindows.dll"
99write-host "copying: " $file " => " $CopyDir
100Copy-Item -Path $file -Destination $CopyDir -Force
101
102# qt sql driver
103$CopyDir = $OutDir + "\sqldrivers"
104New-Item -ItemType directory -Path $CopyDir -Force
105$file = "$QtDir\plugins\sqldrivers\qsqlite.dll"
106write-host "copying: " $file " => " $CopyDir
107Copy-Item -Path $file -Destination $CopyDir -Force
108
109# ringtones
110$CopyDir = $OutDir + "\ringtones"
111New-Item -ItemType directory -Path $CopyDir -Force
112$RingtonePath = "$ClientDir\..\daemon\ringtones"
113write-host "copying ringtones..."
114Get-ChildItem -Path $RingtonePath -Include *.ul, *.wav, *.ogg -Recurse | ForEach-Object {
115 write-host "copying ringtone: " $_.FullName " => " $CopyDir
116 Copy-Item -Path $_.FullName -Destination $CopyDir -Force Recurse
117}
118
119# qt translations
120$lrelease = "$QtDir\bin\lrelease.exe"
121
122# lrc translations
Andreas Traczyk064451e2018-12-06 16:53:40 -0500123$lrcTSPath = "$lrcDir\translations"
Andreas Traczyk5b6a60b2018-12-03 17:30:21 -0500124Get-ChildItem -Path $lrcTSPath -Include *.ts -Recurse | ForEach-Object {
125 & $lrelease $_.FullName
126}
127$CopyDir = $OutDir + "\share\libringclient\translations"
128New-Item -ItemType directory -Path $CopyDir -Force
129write-host "copying ringtones..."
130Get-ChildItem -Path $lrcTSPath -Include *.qm -Recurse | ForEach-Object {
131 write-host "copying translation file: " $_.FullName " => " $CopyDir
132 Copy-Item -Path $_.FullName -Destination $CopyDir -Force Recurse
133}
134
135# client translations
136$clientTSPath = "$ClientDir\translations"
137Get-ChildItem -Path $clientTSPath -Include *.ts -Recurse | ForEach-Object {
138 & $lrelease $_.FullName
139}
140$CopyDir = $OutDir + "\share\ring\translations"
141New-Item -ItemType directory -Path $CopyDir -Force
142write-host "copying ringtones..."
143Get-ChildItem -Path $lrcTSPath -Include *.qm -Recurse | ForEach-Object {
144 write-host "copying translation file: " $_.FullName " => " $CopyDir
145 Copy-Item -Path $_.FullName -Destination $CopyDir -Force Recurse
146}
147
148write-host "copy completed" -NoNewline