forked from KangLin/RabbitRemoteControl
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathappveyor.yml
More file actions
186 lines (163 loc) · 7.95 KB
/
appveyor.yml
File metadata and controls
186 lines (163 loc) · 7.95 KB
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
#TODO: Change version
version: "v0.0.8.{build}"
cache:
- ..\other_source
# Clean cached
# https://www.appveyor.com/docs/build-cache/#cleaning-up-cache
environment:
STOREPASS:
secure: l9BZEU39F1a4vSkhwl0CHR+yh6CD1c7byGzMv+1NUa4=
QT_USER:
secure: EoBPaPuJ6u9UDYpQWjKhUg==
QT_PASSWORD:
secure: ejAYGgB+3sBispRxUSr0xw==
APPVEYOR_RDP_PASSWORD:
secure: PUmp7039ro52579dlxAk59tjpeeyiFbdWvHfLCkjF5c=
matrix:
##### msvc 2015 ########
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
GENERATORS: "Visual Studio 15 2017"
TOOLCHAIN_VERSION: 15
VCPKG_PLATFORM_TOOLSET: v141
QT_ROOT: C:\Qt\5.12\msvc2017
BUILD_ARCH: x86
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
GENERATORS: "Visual Studio 15 2017 Win64"
TOOLCHAIN_VERSION: 15
VCPKG_PLATFORM_TOOLSET: v141
QT_ROOT: C:\Qt\5.12\msvc2017_64
BUILD_ARCH: x64
# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# GENERATORS: "Visual Studio 14 2015"
# TOOLCHAIN_VERSION: 14
# VCPKG_PLATFORM_TOOLSET: v140
# QT_ROOT: C:\Qt\5.6\msvc2015
# BUILD_ARCH: x86
matrix:
fast_finish: false
init:
#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
- set varch=%BUILD_ARCH%
- if "%BUILD_ARCH%" == "x64" set varch=amd64
- if %TOOLCHAIN_VERSION% LSS 15 (call "C:\Program Files (x86)\Microsoft Visual Studio %TOOLCHAIN_VERSION%.0\VC\vcvarsall.bat" %varch%) else (call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %varch%)
- echo NUMBER_OF_PROCESSORS=%NUMBER_OF_PROCESSORS%
- echo PROCESSOR_IDENTIFIER=%PROCESSOR_IDENTIFIER%
- if NOT "%QT_ROOT%" == "NO" for /f "delims=" %%i in ('%QT_ROOT%/bin/qmake -query QT_VERSION') do (set QT_VERSION=%%i)
- echo QT_ROOT=%QT_ROOT%
- echo QT_VERSION=%QT_VERSION%
- del C:\msys64\usr\bin\link.exe
install:
- git submodule update --init --recursive
before_build:
#- set VCPKG_DIR=C:\Tools\vcpkg
- set OTHER_SOURCE=%APPVEYOR_BUILD_FOLDER%/../other_source
- set INSTALL_DIR=%OTHER_SOURCE%/install_dir
- set VCPKG_DIR=%OTHER_SOURCE%/vcpkg
- if not exist "%OTHER_SOURCE%" ( mkdir "%OTHER_SOURCE%" )
- cd %OTHER_SOURCE%
- if not exist "%INSTALL_DIR%" (mkdir "%INSTALL_DIR%")
- cd %OTHER_SOURCE%
- if not exist vcpkg (git clone "https://github.com/microsoft/vcpkg.git" && cd "%VCPKG_DIR%" && git checkout -b 699c8779f1b0feb4ed3564716d1ed31f69663ea6 699c8779f1b0feb4ed3564716d1ed31f69663ea6 )
- cd %VCPKG_DIR%
- bootstrap-vcpkg.bat
- vcpkg --triplet %BUILD_ARCH%-windows install zlib lzo openssl cmark libssh log4cxx libpng pixman libjpeg-turbo freerdp #libdatachannel
- cd "%OTHER_SOURCE%"
- if not exist libdatachannel (git clone https://github.com/paullouisageneau/libdatachannel.git)
- cd libdatachannel
- git submodule update --init --recursive
- git checkout -b v0.14.3 v0.14.3
- cmake -E make_directory build
- cd build
- cmake .. -G"%GENERATORS%" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%" -DCMAKE_TOOLCHAIN_FILE="%VCPKG_DIR%/scripts/buildsystems/vcpkg.cmake"
- cmake --build . --config Release --target install
#- if NOT "%TOOLCHAIN_VERSION%" == "14" (cmake --build . --config Release --target install)
- cd "%OTHER_SOURCE%"
- if not exist libvncserver (git clone "https://github.com/KangLin/libvncserver.git")
- cd libvncserver
- cmake -E make_directory build
- cd build
- cmake .. -G"%GENERATORS%" -DCMAKE_BUILD_TYPE=Release -DWITH_OPENSSL=ON -DWITH_GCRYPT=OFF -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%" -DCMAKE_TOOLCHAIN_FILE="%VCPKG_DIR%/scripts/buildsystems/vcpkg.cmake"
- cmake --build . --config Release
- cmake --build . --config Release --target install
- cd "%OTHER_SOURCE%"
- if not exist tigervnc (git clone https://github.com/KangLin/tigervnc.git)
- cd tigervnc
- cmake -E make_directory build
- cd build
- cmake .. -G"%GENERATORS%" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%" -DBUILD_TESTS=OFF -DBUILD_VIEWER=OFF -DCMAKE_TOOLCHAIN_FILE="%VCPKG_DIR%/scripts/buildsystems/vcpkg.cmake"
- cmake --build . --config Release
- cmake --build . --config Release --target install
- cd "%OTHER_SOURCE%"
- if not exist Log4Qt (git clone -b v1.5.1 https://github.com/MEONMedical/Log4Qt.git)
- cd Log4Qt
- cmake -E make_directory build
- cd build
- cmake .. -G"%GENERATORS%" -DQT_DIR=%QT_ROOT%/lib/cmake/Qt5 -DQt5_DIR=%QT_ROOT%/lib/cmake/Qt5 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%" -DCMAKE_TOOLCHAIN_FILE="%VCPKG_DIR%/scripts/buildsystems/vcpkg.cmake"
- cmake --build . --config Release
- cmake --build . --config Release --target install
- cd "%OTHER_SOURCE%"
- if not exist qxmpp (git clone -b v1.4.0 https://github.com/qxmpp-project/qxmpp.git)
- cd qxmpp
- cmake -E make_directory build
- cd build
- cmake .. -G"%GENERATORS%" -DQT_DIR=%QT_ROOT%/lib/cmake/Qt5 -DQt5_DIR=%QT_ROOT%/lib/cmake/Qt5 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%" -DCMAKE_TOOLCHAIN_FILE="%VCPKG_DIR%/scripts/buildsystems/vcpkg.cmake"
- cmake --build . --config Release
- cmake --build . --config Release --target install
- cd "%OTHER_SOURCE%"
- if not exist qt-solutions (git clone https://github.com/KangLin/qt-solutions.git)
- cd qt-solutions/qtservice
- cmake -E make_directory build
- cd build
- cmake .. -G"%GENERATORS%" -DQT_DIR=%QT_ROOT%/lib/cmake/Qt5 -DQt5_DIR=%QT_ROOT%/lib/cmake/Qt5 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%" -DCMAKE_TOOLCHAIN_FILE="%VCPKG_DIR%/scripts/buildsystems/vcpkg.cmake"
- cmake --build . --config Release
- cmake --build . --config Release --target install
- cd "%OTHER_SOURCE%"
- if exist RabbitCommon (rmdir /s /q "RabbitCommon")
- if not exist RabbitCommon (git clone "https://github.com/KangLin/RabbitCommon.git")
- set RabbitCommon_DIR=%OTHER_SOURCE%/RabbitCommon
build_script:
- cd %APPVEYOR_BUILD_FOLDER%
- mkdir build
- cd build
- cmake .. -G"%GENERATORS%" -DQT_DIR=%QT_ROOT%/lib/cmake/Qt5 -DQt5_DIR=%QT_ROOT%/lib/cmake/Qt5 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%cd%/install" -DLibVNCServer_DIR="%INSTALL_DIR%/lib/cmake/LibVNCServer" -DLibDataChannel_DIR="%INSTALL_DIR%/share/cmake/LibDataChannel" -Dtigervnc_DIR="%INSTALL_DIR%/lib/cmake" -DLog4Qt_DIR="%INSTALL_DIR%/lib/cmake/Log4Qt" -DQXmpp_DIR="%INSTALL_DIR%/lib/cmake/qxmpp" -DQtService_DIR="%INSTALL_DIR%/lib/cmake/qtservice" -DCMAKE_PREFIX_PATH="%INSTALL_DIR%" -DCMAKE_TOOLCHAIN_FILE="%VCPKG_DIR%/scripts/buildsystems/vcpkg.cmake" -DBUILD_FREERDP=ON
- cmake --build . --config Release
- cmake --build . --config Release --target install-runtime
- move /Y install\plugins\*crypto*.dll install\bin
- move /Y install\plugins\*ssl*.dll install\bin
- call "C:/Program Files (x86)/NSIS/makensis.exe" Install.nsi
#- call "install/bin/RabbitRemoteControlApp.exe" -f "update_windows.xml" --pf RabbitRemoteControl-Setup-v0.0.8.exe -m "v0.0.8"
artifacts:
- path: build\RabbitRemoteControl-Setup-*.exe
- path: build\update_windows.xml
- path: build\install\
name: RabbitRemoteControl_v0.0.8
type: zip
test: off
#See: https://www.appveyor.com/docs/deployment/github/
deploy:
#provider: FTP
#protocol: sftp
#host: frs.sourceforge.net
#username: kl222,rabbitim
#密码用这个加密 https://ci.appveyor.com/tools/encrypt
#password:
# secure: 2WEtOQrdty3V3g0aEVvS3Q==
#folder: pfs #link pfs to /home/frs/project/r/ra/rabbitim
#draft: false
#active_mode: false
#on:
#branch: master
- provider: GitHub
# token : https://github.com/settings/tokens
# password encrypt: https://ci.appveyor.com/tools/encrypt
auth_token:
secure: 9do9yUjK8IrlU7jqUHUSPkTDADxzqBSa2GxJ0b0mqo9U2gaAkDFgsiDTvjPgCcnV
#artifact:
#draft: true
#prerelease: true
force_update: false
on:
TOOLCHAIN_VERSION: 15
#QT_VERSION: 5.6.3
BUILD_ARCH: x86
appveyor_repo_tag: true # deploy on tag push only