version: '{build}' image: Visual Studio 2015 environment: QTDIR: C:\Qt\5.10.0\msvc2015_64 LLVMLIBS: https://drive.google.com/uc?export=download&id=0B8A6NaxhQAGRY2k3Q2Yya05lcm8 VULKAN: https://drive.google.com/uc?export=download&id=1A2eOMmCO714i0U7J0qI4aEMKnuWl8l_R COMPATDB: https://rpcs3.net/compatibility?api=v1&export cache: - llvmlibs.7z -> appveyor.yml - vulkan.7z -> appveyor.yml - compat_database.dat install: - ps: | # set version env vars, update appveyor build version accordingly $commDate = $env:APPVEYOR_REPO_COMMIT_TIMESTAMP.Substring(0,10) $commSha = $env:APPVEYOR_REPO_COMMIT.Substring(0,8) $commTag = $(git describe --tags $(git rev-list --tags --max-count=1)) $av = "{0}-{1}" -f $commTag.TrimStart("v"), $env:APPVEYOR_BUILD_NUMBER Update-AppveyorBuild -Version $av $env:BUILD = "rpcs3-{0}-{1}-{2}_win64.7z" -f $commTag, $commDate, $commSha - ps: | # used for experimental build warnings for pr builds $env:BRANCH = "{0}/{1}/#{2}" -f $env:APPVEYOR_REPO_NAME, ` $env:APPVEYOR_REPO_BRANCH, $env:APPVEYOR_PULL_REQUEST_NUMBER $env:BRANCH = $env:BRANCH -replace "/#$" - ps: $env:PATH += $env:QTDIR - ps: | # update and init submodules git submodule -q update --init ` 3rdparty/cereal ` 3rdparty/ffmpeg ` 3rdparty/GSL ` 3rdparty/hidapi ` 3rdparty/libpng ` 3rdparty/Optional ` 3rdparty/pugixml ` 3rdparty/zlib ` asmjit ` Utilities/yaml-cpp ` Vulkan/glslang ` Vulkan/Vulkan-LoaderAndValidationLayers platform: x64 configuration: Release - LLVM build: parallel: true project: rpcs3.sln verbosity: normal before_build: - cmd: | # fetch precompiled build dependencies if not exist llvmlibs.7z appveyor DownloadFile %LLVMLIBS% -FileName llvmlibs.7z 7z x llvmlibs.7z -aos -o"." > nul if not exist vulkan.7z appveyor DownloadFile %VULKAN% -FileName vulkan.7z 7z x vulkan.7z -aos -o".\lib\%CONFIGURATION%-%PLATFORM%" > nul after_build: - ps: | # remove unnecessary files rm .\bin\rpcs3.exp, .\bin\rpcs3.lib, .\bin\rpcs3.pdb - ps: | # prepare compatibility database for packaging [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $db = irm $env:COMPATDB -ea SilentlyContinue if ($db -and $db.return_code -eq 0) { $db | convertto-json -compress | out-file -encoding utf8 compat_database.dat } copy-item compat_database.dat .\bin\GuiConfigs\compat_database.dat - ps: | # package artifacts 7z a $env:BUILD .\bin\* 7z a openssl_win64.7z C:\OpenSSL-Win64\bin\libeay32.dll C:\OpenSSL-Win64\bin\ssleay32.dll test: off artifacts: - path: $(BUILD) name: rpcs3 - path: openssl_win64.7z name: openssl