/
appveyor.yml
153 lines (135 loc) · 6.6 KB
/
appveyor.yml
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
version: 1.5.1_{build}
services:
- mysql
- postgresql
environment:
PRO_FILE: 'C:\projects\qsqlmigrator\QSqlMigrator.pro'
MYSQL_DRIVER_URL: https://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.1.5-win32.zip
MYSQL_DRIVER_ARCHIVE: mysql-connector-c-6.1.5-win32.zip
MYSQL_DRIVER_NAME: mysql-connector-c-6.1.5-win32
POSTGRES_DRIVER_URL: http://get.enterprisedb.com/postgresql/postgresql-9.3.5-1-windows-binaries.zip
POSTGRES_DRIVER_ARCHIVE: postgresql-9.3.5-1-windows-binaries.zip
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
BUILD: Qt4.8.7-x86-msvc2010
QMAKE_OPTIONS: "CONFIG+=NoPostgres"
COMPILERBAT: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86'
PRO_MAKE: nmake release
PRO_CHECK: 'cd ..\..\bin && dir && TestSqlite.exe'
QMAKESPEC: win32-msvc2010
QTMOVE: '$_14_ 4.8.7-msvc2010'
QTSUB: '4.8.7-msvc2010'
QTDOWNLOAD1: http://download.qt-project.org/archive/qt/4.8/4.8.7/qt-opensource-windows-x86-vs2010-4.8.7.exe
QTARCHIVE1: 'qt-opensource-windows-x86-vs2010-4.8.7.exe'
QTARCHIVE1_OPTS: '"-ir!?_14_\*" "-xr!*doc\*" "-xr!*examples\*" "-xr!*demos\*"'
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
BUILD: 'Qt5.6.3-mingw32'
QTDIR: 'C:\Qt\5.6.3\mingw49_32'
COMPILERDIR: 'C:\Qt\Tools\mingw492_32\bin'
QMAKESPEC: win32-g++
PRO_MAKE: mingw32-make
PRO_CHECK: mingw32-make check
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
BUILD: 'Qt5.6.3-mingw32-static'
QMAKE_OPTIONS: '"CONFIG+=static staticlib"'
QTDIR: 'C:\Qt\5.6.3\mingw49_32'
COMPILERDIR: 'C:\Qt\Tools\mingw492_32\bin'
QMAKESPEC: win32-g++
PRO_MAKE: mingw32-make
PRO_CHECK: mingw32-make check
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
BUILD: 'Qt5.9.0-x86-msvc2015'
COMPILERBAT: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86'
PRO_MAKE: nmake
PRO_CHECK: nmake check
QTSUB: '5.9\msvc2015'
QTDOWNLOAD1: https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_59/qt.59.win32_msvc2015/5.9.0-0-201705291821qtbase-Windows-Windows_10-MSVC2015-Windows-Windows_10-X86.7z
QTARCHIVE1: '5.9.0-0-201705291821qtbase-Windows-Windows_10-MSVC2015-Windows-Windows_10-X86.7z'
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
BUILD: 'Qt5.9.0-x64-msvc2015'
COMPILERBAT: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64'
PRO_MAKE: nmake
PRO_CHECK: nmake check
QTSUB: '5.9\msvc2015_64'
QTDOWNLOAD1: https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_59/qt.59.win64_msvc2015_64/5.9.0-0-201705291821qtbase-Windows-Windows_10-MSVC2015-Windows-Windows_10-X86_64.7z
QTARCHIVE1: '5.9.0-0-201705291821qtbase-Windows-Windows_10-MSVC2015-Windows-Windows_10-X86_64.7z'
MYSQL_DRIVER_URL: https://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.1.5-winx64.zip
MYSQL_DRIVER_ARCHIVE: mysql-connector-c-6.1.5-winx64.zip
MYSQL_DRIVER_NAME: mysql-connector-c-6.1.5-winx64
POSTGRES_DRIVER_URL: http://get.enterprisedb.com/postgresql/postgresql-9.3.5-1-windows-x64-binaries.zip
POSTGRES_DRIVER_ARCHIVE: postgresql-9.3.5-1-windows-x64-binaries.zip
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
BUILD: 'Qt5.15.2-x64-msvc2019'
COMPILERBAT: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"'
PRO_MAKE: nmake
PRO_CHECK: nmake check
QTSUB: '5.15.2\msvc2019_64'
QTDOWNLOAD1: https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_5152/qt.qt5.5152.win64_msvc2019_64/5.15.2-0-202011130602qtbase-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z
QTARCHIVE1: '5.15.2-0-202011130602qtbase-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z'
MYSQL_DRIVER_URL: https://downloads.mysql.com/archives/get/p/19/file/mysql-connector-c-6.1.11-winx64.zip
MYSQL_DRIVER_ARCHIVE: mysql-connector-c-6.1.11-winx64.zip
MYSQL_DRIVER_NAME: mysql-connector-c-6.1.11-winx64
POSTGRES_DRIVER_URL: https://get.enterprisedb.com/postgresql/postgresql-13.4-1-windows-x64-binaries.zip
POSTGRES_DRIVER_ARCHIVE: postgresql-13.4-1-windows-x64-binaries.zip
QMYSQL: '5.15.2'
install:
# fix git\bin bug for mingw build
- set "PATH=%PATH:Git\bin;=Git\cmd;%"
# prepare extern install
- choco install curl 7zip # dependencywalker
- mkdir extern
- cd extern
# install Qt
- mkdir Qt
- cd Qt
- if defined QTDOWNLOAD1 curl -kLO %QTDOWNLOAD1%
- if defined QTARCHIVE1 7z x %QTARCHIVE1_OPTS% %QTARCHIVE1% >nul
- if defined QTDOWNLOAD2 curl -kLO %QTDOWNLOAD2%
- if defined QTARCHIVE2 7z x %QTARCHIVE2_OPTS% %QTARCHIVE2% >nul
- if defined QTMOVE move %QTMOVE%
- if defined QTSUB set "QTDIR=%CD%\%QTSUB%"
- if defined QTDOWNLOAD1 (echo [Paths]&& echo Prefix=..) >%QTDIR%\bin\qt.conf
- if defined QTDOWNLOAD1 (copy %QTDIR%\mkspecs\qconfig.pri %QTDIR%\mkspecs\qconfig.pri.old)
- if defined QTDOWNLOAD1 (findstr /r /i /v "^QT_EDITION.*$ ^QT_LICHECK.*$" %QTDIR%\mkspecs\qconfig.pri.old& exit 0) >%QTDIR%\mkspecs\qconfig.pri
- if defined QTDOWNLOAD1 (echo QT_EDITION = OpenSource&& echo QT_LICHECK =) >>%QTDIR%\mkspecs\qconfig.pri
- if defined QTDOWNLOAD1 cat %QTDIR%\mkspecs\qconfig.pri
- set QT_PLUGIN_PATH=%QTDIR%\plugins
- cd ..
# install mysql driver
- curl -kLO %MYSQL_DRIVER_URL%
- 7z x %MYSQL_DRIVER_ARCHIVE% >nul
- set "PATH=%PATH%;%CD%\%MYSQL_DRIVER_NAME%\lib"
# install postgres driver
- curl -kLO %POSTGRES_DRIVER_URL%
- 7z x %POSTGRES_DRIVER_ARCHIVE% >nul
# finish install
- cd %APPVEYOR_BUILD_FOLDER%
- set "PATH=%QTDIR%\bin;%PATH%"
- if defined COMPILERDIR set "PATH=%COMPILERDIR%;%PATH%"
- '%COMPILERBAT%'
# install mysql plugin
- "if defined QMYSQL (git clone --branch %qmysql% --depth 1 --no-tags git://code.qt.io/qt/qt5.git extern/qt5)"
- if defined QMYSQL cd extern/qt5
- if defined QMYSQL git submodule update --init --depth 1 qtbase
- if defined QMYSQL cd qtbase/src/plugins/sqldrivers
- if defined QMYSQL qmake -- MYSQL_INCDIR="%APPVEYOR_BUILD_FOLDER%\extern\%MYSQL_DRIVER_NAME%\include" MYSQL_LIBDIR="%APPVEYOR_BUILD_FOLDER%\extern\%MYSQL_DRIVER_NAME%\lib"
- if defined QMYSQL %PRO_MAKE%
- if defined QMYSQL %PRO_MAKE% install
- if defined QMYSQL cd %APPVEYOR_BUILD_FOLDER%
before_build:
- move tests\mysql\MysqlConfig.h.appveyor tests\mysql\MysqlConfig.h
- move tests\postgresql\PostgresqlConfig.h.appveyor tests\postgresql\PostgresqlConfig.h
build_script:
- echo "building %BUILD%"
- mkdir tmp
- mkdir "tmp\%BUILD%"
- cd "tmp\%BUILD%"
- set
- qmake -r "CONFIG+=NoFirebird" %QMAKE_OPTIONS% %PRO_FILE%
- '%PRO_MAKE%'
- cd %APPVEYOR_BUILD_FOLDER%
test_script:
- set "PATH=%CD%\extern\pgsql\bin;%PATH%"
- cd "tmp\%BUILD%"
- '%PRO_CHECK%'
- cd %APPVEYOR_BUILD_FOLDER%