mirror of
https://github.com/SOCI/soci.git
synced 2026-05-07 20:30:04 -05:00
4440c78913
Use correct "9.4" in the service name.
121 lines
4.4 KiB
YAML
121 lines
4.4 KiB
YAML
version: 4.1.0.{build}
|
|
|
|
skip_commits:
|
|
files:
|
|
- .github/workflows/
|
|
|
|
configuration: Release
|
|
|
|
environment:
|
|
matrix:
|
|
- G: "Visual Studio 17 2022"
|
|
BOOST_ROOT: C:\Libraries\boost_1_77_0
|
|
MSSQL_VER: 2019
|
|
POSTGRESQL_ROOT: C:\Program Files\PostgreSQL\13
|
|
POSTGRESQL_VER: 13
|
|
MYSQL_VER: 80
|
|
MYSQL_DIR: C:\Program Files\MySql\MySQL Server 8.0
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
|
- G: "Visual Studio 16 2019"
|
|
BOOST_ROOT: C:\Libraries\boost_1_73_0
|
|
MSSQL_VER: 2017
|
|
POSTGRESQL_ROOT: C:\Program Files\PostgreSQL\12
|
|
POSTGRESQL_VER: 12
|
|
MYSQL_VER: 80
|
|
MYSQL_DIR: C:\Program Files\MySql\MySQL Server 8.0
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
- G: "Visual Studio 15 2017 Win64"
|
|
BOOST_ROOT: C:\Libraries\boost_1_69_0
|
|
MSSQL_VER: 2016
|
|
POSTGRESQL_ROOT: C:\Program Files\PostgreSQL\11
|
|
POSTGRESQL_VER: 11
|
|
MYSQL_VER: 57
|
|
MYSQL_DIR: C:\Program Files\MySql\MySQL Server 5.7
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
- G: "Visual Studio 14 2015 Win64"
|
|
BOOST_ROOT: C:\Libraries\boost_1_60_0
|
|
MSSQL_VER: 2014
|
|
POSTGRESQL_ROOT: C:\Program Files\PostgreSQL\10
|
|
POSTGRESQL_VER: 10
|
|
MYSQL_VER: 57
|
|
MYSQL_DIR: C:\Program Files\MySql\MySQL Server 5.7
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
- G: "MinGW Makefiles"
|
|
MINGW_BIN: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
|
|
MSSQL_VER: 2014
|
|
BOOST_ROOT: C:\Libraries\boost_1_60_0
|
|
POSTGRESQL_ROOT: C:\Program Files\PostgreSQL\9.4
|
|
POSTGRESQL_VER: 9.4
|
|
MYSQL_VER: 57
|
|
MYSQL_DIR: C:\Program Files\MySql\MySQL Server 5.7
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
|
|
install:
|
|
# Start these ones here as we can't specify the service name dynamically above.
|
|
- net start mssql$SQL%MSSQL_VER%
|
|
- net start mysql%MYSQL_VER%
|
|
- net start postgresql-x64-%POSTGRESQL_VER%
|
|
- ps: |
|
|
Import-Module C:\projects\soci\scripts\windows\Get-ODBCList.ps1
|
|
$drivers_list = Get-ODBCList
|
|
Write-Output $drivers_list
|
|
if ($drivers_list -clike '*MySQL*') {
|
|
$env:SOCI_ODBC_TESTS = $env:SOCI_ODBC_TESTS + '|soci_odbc_test_mysql'
|
|
}
|
|
if ($drivers_list -clike '*PostgreSQL*') {
|
|
$env:SOCI_ODBC_TESTS = $env:SOCI_ODBC_TESTS + '|soci_odbc_test_postgresql'
|
|
}
|
|
- git clone https://github.com/snikulov/sqlite.cmake.build.git C:\projects\sqlite\src
|
|
|
|
before_build:
|
|
- set SQLITE_ROOT=C:\projects\sqlite\sqlite
|
|
# dirty little hack - remove sh from Git to make generator happy
|
|
- ps: |
|
|
if ($env:G -eq "MinGW Makefiles")
|
|
{
|
|
$shellPath = (Get-Command sh.exe).definition
|
|
if ($shellPath)
|
|
{
|
|
if (Test-Path $shellPath)
|
|
{
|
|
Remove-Item $shellPath
|
|
}
|
|
}
|
|
$env:SQLITE3_LIBRARY = $env:SQLITE_ROOT + '/lib/libsqlite3-static.a'
|
|
$env:BUILD_TOOL_OPTIONS = '-j3'
|
|
}
|
|
else
|
|
{
|
|
$env:SQLITE3_LIBRARY = $env:SQLITE_ROOT + '/lib/sqlite3-static.lib'
|
|
$env:BUILD_TOOL_OPTIONS = '/m'
|
|
}
|
|
- cd C:\projects\sqlite\src
|
|
- mkdir build
|
|
- cd build
|
|
- set PATH=%MINGW_BIN%;%POSTGRESQL_ROOT%\bin;%MYSQL_DIR%\bin;%MYSQL_DIR%\lib;%PATH%
|
|
- echo %PATH%
|
|
- cmake --version
|
|
- set PGUSER=postgres
|
|
- set PGPASSWORD=Password12!
|
|
- createdb soci_test
|
|
- set MYSQL_PWD=Password12!
|
|
- set USER=root
|
|
- mysql -e "create database soci_test;" --user=root
|
|
- sqlcmd -U sa -P Password12! -S (local)\SQL%MSSQL_VER% -i C:\projects\soci\scripts\windows\mssql_db_create.sql
|
|
- cmake .. -G"%G%" -DSQLITE_BUILD_SHARED=OFF -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DCMAKE_INSTALL_PREFIX=%SQLITE_ROOT%
|
|
- cmake --build . --config %CONFIGURATION% --target install
|
|
|
|
build_script:
|
|
- cd C:\projects\soci
|
|
- mkdir build
|
|
- cd build
|
|
- cmake .. -G"%G%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DCMAKE_VERBOSE_MAKEFILE=ON -DSOCI_ENABLE_WERROR=ON -DSQLITE3_INCLUDE_DIR=%SQLITE_ROOT%/include -DSQLITE3_LIBRARY=%SQLITE3_LIBRARY%
|
|
- cmake --build . --config %CONFIGURATION% -- %BUILD_TOOL_OPTIONS%
|
|
|
|
test_script:
|
|
- ctest -V --timeout 300 --output-on-failure -R "soci_empty|soci_postgresql|soci_sqlite3|soci_odbc_test_mssql|soci_mysql%SOCI_ODBC_TESTS%"
|
|
|
|
# Uncomment this to wait for RDP connection after the build end.
|
|
#on_finish:
|
|
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|