version: 0.0.1-branch-{branch}-build-{build} cache: - c:\protobuf - c:\protoc - c:\zlib environment: matrix: - vc_arch: amd64 choco_arch: nuget_arch: x64 target_arch: x86_64 qt_ver: 5.6\msvc2013_64 bintray_path: Win64 MYSQL_DRIVER_URL: https://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.1.6-winx64.zip MYSQL_DRIVER_ARCHIVE: mysql-connector-c-6.1.6-winx64.zip MYSQL_DRIVER_NAME: mysql-connector-c-6.1.6-winx64 - vc_arch: amd64_x86 # cross-compile from amd64 to x86 choco_arch: --x86 nuget_arch: Win32 target_arch: x86 qt_ver: 5.6\msvc2013 bintray_path: Win32 MYSQL_DRIVER_URL: https://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.1.6-win32.zip MYSQL_DRIVER_ARCHIVE: mysql-connector-c-6.1.6-win32.zip MYSQL_DRIVER_NAME: mysql-connector-c-6.1.6-win32 install: - systeminfo - ps: | if (Test-Path c:\protoc) { echo "using protoc from cache" } else { Invoke-WebRequest "https://github.com/google/protobuf/releases/download/v2.6.1/protoc-2.6.1-win32.zip" -OutFile c:\protoc-2.6.1-win32.zip c:\cygwin\bin\bash -lc "cd /cygdrive/c; 7z x -y protoc-2.6.1-win32.zip -oc:\protoc" } - ps: | if (Test-Path c:\protobuf) { echo "using protobuf from cache" } else { nuget install protobuf-v120 -OutputDirectory c:\protobuf } - ps: | if (Test-Path c:\zlib) { echo "using zlib from cache" } else { nuget install zlib -OutputDirectory c:\zlib } services: - mysql build_script: - mkdir build - cd build - '"c:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/vcvarsall" %vc_arch%' - path - ps: | $zlibinc = c:\cygwin\bin\find /cygdrive/c/zlib/ -path '*v120*/zlib.h' $zlibinc = c:\cygwin\bin\dirname $zlibinc $zlibinc = c:\cygwin\bin\cygpath -m $zlibinc $zliblib = c:\cygwin\bin\find /cygdrive/c/zlib/ -path "*v120*/$env:nuget_arch/Release/zlib.lib" $zliblib = c:\cygwin\bin\cygpath -m $zliblib $protoinc = c:\cygwin\bin\find /cygdrive/c/protobuf/ -name 'google' $protoinc = c:\cygwin\bin\dirname $protoinc $protoinc = c:\cygwin\bin\cygpath -m $protoinc $protolib = c:\cygwin\bin\find /cygdrive/c/protobuf/ -path "*/lib/$env:nuget_arch/v120/Release/libprotobuf.lib" $protolib = c:\cygwin\bin\cygpath -m $protolib $protoc = c:\cygwin\bin\find /cygdrive/c/protoc/ -name "protoc.exe" $protoc = c:\cygwin\bin\cygpath -m $protoc $mysqldll = "c:\Program Files\MySQL\MySQL Server 5.7\lib\libmysql.dll" $mysqldll = "c:\Program Files\MySQL\MySQL Server 5.7\lib\libmysql.dll" Write-Output "ZLIBINC = $zlibinc" Write-Output "ZLIBLIB = $zliblib" Write-Output "PROTOINC = $protoinc" Write-Output "PROTOLIB = $protolib" Write-Output "PROTOC = $protoc" Write-Output "MYSQLDLL = $mysqldll" cmake .. "-GNMake Makefiles" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_PREFIX_PATH=c:/Qt/$env:qt_ver" "-DWITH_SERVER=1" "-DZLIB_INCLUDE_DIR=$zlibinc" "-DZLIB_LIBRARY=$zliblib" "-DPROTOBUF_INCLUDE_DIR=$protoinc" "-DPROTOBUF_LIBRARIES=$protolib" "-DPROTOBUF_LIBRARIES=$protolib" "-DPROTOBUF_LIBRARY=$protolib" "-DPROTOBUF_PROTOC_EXECUTABLE=$protoc" "-DMYSQLCLIENT_LIBRARIES=$mysqldll" - nmake package - c:\cygwin\bin\ls -l - ps: | $exe = dir -name *.exe $new_name = $exe.Replace(".exe", "-${env:target_arch}_qt5.exe") Push-AppveyorArtifact $exe -FileName $new_name $cmake_name = $exe.Replace(".exe", "-${env:target_arch}_qt5.cmake.txt") Push-AppveyorArtifact CMakeCache.txt -FileName $cmake_name $json = New-Object PSObject (New-Object PSObject | Add-Member -PassThru NoteProperty bin $new_name | Add-Member -PassThru NoteProperty cmake $cmake_name | Add-Member -PassThru NoteProperty commit $env:APPVEYOR_REPO_COMMIT) | ConvertTo-JSON | Out-File -FilePath "latest-$env:target_arch" -Encoding ASCII Push-AppveyorArtifact "latest-$env:target_arch" $version = $matches['content'] test: off deploy: description: "Dev build of Cockatrice" provider: GitHub auth_token: secure: p+7wPVry2XEa6TBm9XH8IaQZbBmXQ/J2ldbGmcIxUZD3NkkPrSRRlmE7Of1CBBIO artifact: /.*\.exe/ draft: false prerelease: true force_update: true on: appveyor_repo_tag: true