Merge pull request #183 from romibi/enableLinkPreview
[quassel.git] / appveyor.yml
1 version: '{build}'
2 build_script:
3 - ps: |
4     if ( !(Test-Path "$env:APPVEYOR_BUILD_FOLDER\work\appveyorHelp.psm1"))
5     {
6         mkdir $env:APPVEYOR_BUILD_FOLDER\work\
7         Start-FileDownload https://raw.githubusercontent.com/TheOneRing/appVeyorHelp/master/appveyorHelp.psm1 -FileName $env:APPVEYOR_BUILD_FOLDER\work\appveyorHelp.psm1
8     }
9     $ErrorActionPreference="Stop"
10
11     Import-Module $env:APPVEYOR_BUILD_FOLDER\work\appveyorHelp.psm1
12
13     Init @("ninja", "png2ico", "nsis", "7zip.commandline") ([ordered]@{"git://anongit.kde.org/extra-cmake-modules.git" = @{"branch" = "master"};
14                                  "https://github.com/Snorenotify/SnoreGrowl.git" = @{"branch" = "v0.4.0"; "buildType" = "Release"};
15                                  "git://anongit.kde.org/snorenotify.git" = @{"branch" = "v0.7.0"; "buildType" = "Release"}})
16
17
18     mkdir -Force $env:APPVEYOR_BUILD_FOLDER\work\build\$env:APPVEYOR_PROJECT_NAME
19     cd $env:APPVEYOR_BUILD_FOLDER\work\build\$env:APPVEYOR_PROJECT_NAME
20     LogExec cmake -G"Ninja" $env:APPVEYOR_BUILD_FOLDER -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$CMAKE_INSTALL_ROOT" -DUSE_QT5=ON -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DBus=ON -DWITH_WEBKIT=ON
21     CmakeImageInstall
22
23     $imageDir = CreateDeployImage @(
24                             # whitelist
25                             #quassel
26                             "quassel.*",
27                             #
28                             #gccruntime",
29                             "bin\\libgomp.*\.dll",
30                             "bin\\libgcc_s_.*\.dll",
31                             "bin\\libwinpthread.*\.dll",
32                             "bin\\libstdc.*\.dll",
33                             #
34                             #snore
35                             "bin\\.*snore.*\.dll",
36                             "lib\\plugins\\libsnore.*\\libsnore_backend.*\.dll",
37                             "lib\\plugins\\libsnore.*\\libsnore_settings_backend.*\.dll",
38                             "lib\\plugins\\libsnore.*\\libsnore_secondarybackend.*\.dll", "lib\\plugins\\libsnore.*\\libsnore_settings_secondarybackend.*\.dll", "bin\\SnoreToast\.exe",
39                             #
40                             #Growl
41                             "bin\\.*snoregrowl.*\.dll",
42                             #
43                             #ssl
44                             ".*\\libeay32\.dll",
45                             ".*\\ssleay32\.dll",
46                             #
47                             #icu
48                             "bin\\icuin\d+\.dll",
49                             "bin\\icuuc\d+\.dll",
50                             "bin\\icudt\d+\.dll",
51                             #
52                             #qt
53                             "bin\\Qt5Core\.dll",
54                             "bin\\Qt5Declarative\.dll",
55                             "bin\\Qt5Gui\.dll",
56                             "bin\\Qt5Network\.dll",
57                             "bin\\Qt5Opengl\.dll",
58                             "bin\\Qt5Multimedia\.dll",
59                             "bin\\Qt5MultimediaWidgets\.dll",
60                             "bin\\Qt5Positioning\.dll",
61                             "bin\\Qt5PrintSupport\.dll",
62                             "bin\\Qt5Qml\.dll",
63                             "bin\\Qt5Quick\.dll",
64                             "bin\\Qt5Script\.dll",
65                             "bin\\Qt5Sensors\.dll",
66                             "bin\\Qt5Sql\.dll",
67                             "bin\\Qt5WebChannel\.dll",
68                             "bin\\Qt5WebKit\.dll",
69                             "bin\\Qt5WebKitWidgets\.dll",
70                             "bin\\Qt5Widgets\.dll",
71                             "bin\\Qt5XmlPatterns\.dll",
72                             "bin\\.*libglesv2\.dll",
73                             "bin\\.*libEGL\.dll",
74                             "qml\\.*",
75                             #bin\\QtXml\.dll
76                             #
77                             "plugins\\imageformats\\(?!.*d\.dll).*\.dll$",
78                             "plugins\\sqldrivers\\qsqlite(?!.*d\.dll).*\.dll$",
79                             "plugins\\codecs\\(?!.*d\.dll).*\.dll$",
80                             "plugins\\platforms\\qwindows(?!.*d\.dll).*\.dll$",
81                             #
82                             #
83                             #zlib
84                             "bin\\libz.dll",
85                             #
86                             #qca
87                             "bin\\libqca.*\.dll",
88                             "lib\\qca-qt5\\crypto\\.*",
89                             "certs\\.*",
90                             #
91                             #phonon
92                             "bin\\libphonon.*\.dll",
93                             "bin\\phonon.*\.dll",
94                             "bin\\libphononexperimental.*\.dll",
95                             "bin\\phonon_backend\\.*",
96                             "plugins\\phonon_backend\\.*",
97                             "plugins\\phonon4qt5_backend\\.*") @(
98                             #blacklist
99                             "include",
100                             ".*\.h",
101                             "lib\\plugins\\libsnore.*\\libsnore_backend_freedesktop\.dll",
102                             ".*\.pdb",
103                             ".*plugind\.dll"
104                             )
105
106     mv "$imageDir\bin\*" "$imageDir\"
107     #mv "$imageDir\lib\qca-qt5\crypto" "$imageDir\crypto"
108     mv "$imageDir\qml\*" "$imageDir"
109     mv "$imageDir\plugins\*" "$imageDir"
110     if(Test-Path "$imageDir\lib\plugins")
111     {
112         mv "$imageDir\lib\plugins\*" "$imageDir"
113     }
114     DeleteEmptyFodlers $imageDir
115     7ZipDeployImage
116     NsisDeployImage $env:APPVEYOR_BUILD_FOLDER\scripts\build\NullsoftInstaller.nsi
117
118 environment:
119     QT_VER: 5.5
120
121     matrix:
122     #msvc
123     - COMPILER: msvc2013_64
124     - COMPILER: msvc2013
125     #mingw
126     - COMPILER: mingw492_32
127
128 test: off
129
130 cache:
131     - work\install -> appveyor.yml
132     - C:\ProgramData\chocolatey\bin -> appveyor.yml
133     - C:\ProgramData\chocolatey\lib -> appveyor.yml
134     - work\appveyorHelp.psm1 -> appveyor.yml