blob: 150f292ddd279a70af3a48c445d323fa010da17c [file] [log] [blame]
Sébastien Blin1f915762020-08-03 13:27:42 -04001[cmdletbinding()]
2param (
3 [string]$mode,
4 [string]$qtver,
5 [string]$daemonDir,
Andreas Traczyk470d3c92020-08-19 17:55:28 -04006 [string]$lrcDir,
7 [string]$outDir
Sébastien Blin1f915762020-08-03 13:27:42 -04008);
9
Andreas Traczyk470d3c92020-08-19 17:55:28 -040010write-host "Copying deployment files..." -ForegroundColor Green
Sébastien Blin1f915762020-08-03 13:27:42 -040011
12# default values
Andreas Traczyk470d3c92020-08-19 17:55:28 -040013$qtver = If ($qtver) { $qtver } Else { "5.15.0" }
14$mode = If ($mode) { $mode } Else { "Release" }
Sébastien Blin1f915762020-08-03 13:27:42 -040015
Andreas Traczyk470d3c92020-08-19 17:55:28 -040016$qtverSplit1, $qtverSplit2 , $qtverSplit3 = $qtver.Split('.')
17$qtMsvcDir = "msvc2019_64"
Sébastien Blin1f915762020-08-03 13:27:42 -040018
19$QtDir = "C:\Qt\$qtver\$qtMsvcDir"
20
Andreas Traczyk470d3c92020-08-19 17:55:28 -040021$clientDir = split-path -parent $MyInvocation.MyCommand.Definition
Sébastien Blin1f915762020-08-03 13:27:42 -040022
Andreas Traczyk470d3c92020-08-19 17:55:28 -040023if (!$outDir) { $outDir = $clientDir + "\x64\" + $mode }
24If (!(test-path $outDir)) { New-Item -ItemType directory -Path $outDir -Force }
Sébastien Blin1f915762020-08-03 13:27:42 -040025
Andreas Traczyk470d3c92020-08-19 17:55:28 -040026if (!$daemonDir) { $daemonDir = $clientDir + '\..\daemon' }
27if (!$lrcDir) { $lrcDir = $clientDir + '\..\lrc' }
Sébastien Blin1f915762020-08-03 13:27:42 -040028
29write-host "********************************************************************************" -ForegroundColor Magenta
30write-host "using daemonDir: " $daemonDir -ForegroundColor Magenta
31write-host "using lrcDir: " $lrcDir -ForegroundColor Magenta
32write-host "using QtDir: " $QtDir -ForegroundColor Magenta
33write-host "********************************************************************************" -ForegroundColor Magenta
34
35# dependency bin files and misc
36$FilesToCopy = @(
37 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avcodec-58.dll",
38 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avutil-56.dll",
39 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avformat-58.dll",
40 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avdevice-58.dll",
41 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\swresample-3.dll",
42 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\swscale-5.dll",
43 "$daemonDir\contrib\build\ffmpeg\Build\win32\x64\bin\avfilter-7.dll",
44 "$daemonDir\contrib\build\openssl\out32dll\libeay32.dll",
45 "$daemonDir\contrib\build\openssl\out32dll\ssleay32.dll",
Yang Wang385cf872020-08-21 12:33:46 -040046 "$QtDir\..\..\Tools\OpenSSL\Win_x64\bin\libcrypto-1_1-x64.dll",
47 "$QtDir\..\..\Tools\OpenSSL\Win_x64\bin\libssl-1_1-x64.dll",
Andreas Traczyk470d3c92020-08-19 17:55:28 -040048 "$clientDir\qt.conf",
49 "$clientDir\images\jami.ico",
50 "$clientDir\License.rtf"
51)
Sébastien Blin1f915762020-08-03 13:27:42 -040052foreach ($i in $FilesToCopy) {
Andreas Traczyk470d3c92020-08-19 17:55:28 -040053 write-host "copying: " $i " => " $outDir -ForegroundColor Cyan
54 Copy-Item -Path $i -Recurse -Destination $outDir -Force -Container
Sébastien Blin1f915762020-08-03 13:27:42 -040055}
56
57############
58# qt
59############
Andreas Traczyk470d3c92020-08-19 17:55:28 -040060$windeployqt = "$QtDir\bin\windeployqt.exe --qmldir $clientDir\src --release $outDir\Jami.exe"
61Invoke-Expression $windeployqt
Sébastien Blin1f915762020-08-03 13:27:42 -040062
63# ringtones
Andreas Traczyk470d3c92020-08-19 17:55:28 -040064$CopyDir = $outDir + "\ringtones"
65If (!(test-path $CopyDir)) { New-Item -ItemType directory -Path $CopyDir -Force }
66$RingtonePath = "$clientDir\..\daemon\ringtones"
Sébastien Blin1f915762020-08-03 13:27:42 -040067write-host "copying ringtones..."
68Get-ChildItem -Path $RingtonePath -Include *.ul, *.ogg, *.wav, *.opus -Recurse | ForEach-Object {
69 write-host "copying ringtone: " $_.FullName " => " $CopyDir -ForegroundColor Cyan
70 Copy-Item -Path $_.FullName -Destination $CopyDir -Force –Recurse
71}
72
73# qt translations
74$lrelease = "$QtDir\bin\lrelease.exe"
75
76# lrc translations
77$lrcTSPath = "$lrcDir\translations"
78Get-ChildItem -Path $lrcTSPath -Include *.ts -Recurse | ForEach-Object {
79 & $lrelease $_.FullName
80}
Andreas Traczyk470d3c92020-08-19 17:55:28 -040081$CopyDir = $outDir + "\share\libringclient\translations"
82If (!(test-path $CopyDir)) { New-Item -ItemType directory -Path $CopyDir -Force }
Sébastien Blin1f915762020-08-03 13:27:42 -040083write-host "copying lrc translations..."
84Get-ChildItem -Path $lrcTSPath -Include *.qm -Recurse | ForEach-Object {
85 write-host "copying translation file: " $_.FullName " => " $CopyDir -ForegroundColor Cyan
86 Copy-Item -Path $_.FullName -Destination $CopyDir -Force –Recurse
87}
88
89# client translations
Andreas Traczyk470d3c92020-08-19 17:55:28 -040090$clientTSPath = "$clientDir\translations"
Sébastien Blin1f915762020-08-03 13:27:42 -040091Get-ChildItem -Path $clientTSPath -Include *.ts -Recurse | ForEach-Object {
92 & $lrelease $_.FullName
93}
Andreas Traczyk470d3c92020-08-19 17:55:28 -040094$CopyDir = $outDir + "\share\ring\translations"
95If (!(test-path $CopyDir)) { New-Item -ItemType directory -Path $CopyDir -Force }
Sébastien Blin1f915762020-08-03 13:27:42 -040096write-host "copying client translations..."
97Get-ChildItem -Path $clientTSPath -Include *.qm -Recurse | ForEach-Object {
98 write-host "copying translation file: " $_.FullName " => " $CopyDir -ForegroundColor Cyan
99 Copy-Item -Path $_.FullName -Destination $CopyDir -Force –Recurse
100}
101
Yang Wang385cf872020-08-21 12:33:46 -0400102write-host "copy completed" -NoNewline -ForegroundColor Green