2017-10-14 07:59:12 +00:00
|
|
|
|
2018-02-02 02:20:03 +00:00
|
|
|
version: '{build}'
|
2017-01-30 22:16:47 +00:00
|
|
|
|
2017-10-14 07:59:12 +00:00
|
|
|
image: Visual Studio 2015
|
|
|
|
|
|
|
|
environment:
|
2018-03-12 23:40:29 +00:00
|
|
|
QTDIR: C:\Qt\5.10\msvc2015_64
|
2018-02-02 01:56:45 +00:00
|
|
|
LLVMLIBS: https://drive.google.com/uc?export=download&id=0B8A6NaxhQAGRY2k3Q2Yya05lcm8
|
|
|
|
VULKAN: https://drive.google.com/uc?export=download&id=1A2eOMmCO714i0U7J0qI4aEMKnuWl8l_R
|
2018-02-02 02:28:32 +00:00
|
|
|
COMPATDB: https://rpcs3.net/compatibility?api=v1&export
|
2017-10-14 07:59:12 +00:00
|
|
|
|
|
|
|
cache:
|
2018-02-02 02:28:32 +00:00
|
|
|
- llvmlibs.7z -> appveyor.yml
|
|
|
|
- vulkan.7z -> appveyor.yml
|
|
|
|
- compat_database.dat
|
2017-10-14 07:59:12 +00:00
|
|
|
|
|
|
|
install:
|
2018-02-03 01:00:45 +00:00
|
|
|
- ps: | # set env vars for versioning
|
2018-02-24 19:54:58 +00:00
|
|
|
$env:COMM_TAG = $(git describe --tags $(git rev-list --tags --max-count=1))
|
|
|
|
$env:COMM_COUNT = $(git rev-list --count HEAD)
|
|
|
|
$env:COMM_HASH = $env:APPVEYOR_REPO_COMMIT.Substring(0,8)
|
2018-02-23 19:41:05 +00:00
|
|
|
|
|
|
|
if ($env:APPVEYOR_PULL_REQUEST_NUMBER) {
|
2018-02-24 19:54:58 +00:00
|
|
|
$env:BUILD = "rpcs3-{0}-{1}_win64.7z" -f $env:COMM_TAG, $env:COMM_HASH
|
|
|
|
$env:AVVER = "{0}-{1}" -f $env:COMM_TAG.TrimStart("v"), $env:COMM_HASH
|
2018-02-23 19:41:05 +00:00
|
|
|
}
|
|
|
|
else {
|
2018-02-24 19:54:58 +00:00
|
|
|
$env:BUILD = "rpcs3-{0}-{1}-{2}_win64.7z" -f $env:COMM_TAG, $env:COMM_COUNT, $env:COMM_HASH
|
|
|
|
$env:AVVER = "{0}-{1}" -f $env:COMM_TAG.TrimStart("v"), $env:COMM_COUNT
|
2018-02-23 19:41:05 +00:00
|
|
|
}
|
2018-02-02 02:20:03 +00:00
|
|
|
|
2018-02-02 02:05:36 +00:00
|
|
|
- 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 "/#$"
|
|
|
|
|
2018-02-02 22:38:56 +00:00
|
|
|
- ps: | # misc global settings
|
|
|
|
$env:PATH += $env:QTDIR
|
|
|
|
[net.servicepointmanager]::securityprotocol = "tls12, tls11, tls"
|
2018-02-02 02:05:36 +00:00
|
|
|
|
|
|
|
- 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
|
2017-10-14 07:59:12 +00:00
|
|
|
|
2015-08-03 19:07:12 +00:00
|
|
|
platform: x64
|
2015-08-04 16:57:41 +00:00
|
|
|
|
2017-10-14 07:59:12 +00:00
|
|
|
configuration: Release - LLVM
|
2017-01-30 22:16:47 +00:00
|
|
|
|
2017-10-14 07:59:12 +00:00
|
|
|
build:
|
2018-02-02 01:54:11 +00:00
|
|
|
parallel: true
|
|
|
|
project: rpcs3.sln
|
2017-10-14 07:59:12 +00:00
|
|
|
verbosity: normal
|
|
|
|
|
2015-08-03 19:07:12 +00:00
|
|
|
before_build:
|
2018-02-02 04:17:13 +00:00
|
|
|
- ps: | # fetch precompiled build dependencies
|
|
|
|
if (!(test-path llvmlibs.7z)) { irm $env:LLVMLIBS -outfile llvmlibs.7z }
|
|
|
|
if (!(test-path vulkan.7z)) { irm $env:VULKAN -outfile vulkan.7z }
|
|
|
|
7z x llvmlibs.7z -aos -o"." | out-null
|
|
|
|
7z x vulkan.7z -aos -o".\lib\$env:CONFIGURATION-$env:PLATFORM" | out-null
|
2015-08-04 16:23:35 +00:00
|
|
|
|
2018-02-02 02:20:03 +00:00
|
|
|
after_build:
|
2018-02-02 02:22:16 +00:00
|
|
|
- ps: | # remove unnecessary files
|
|
|
|
rm .\bin\rpcs3.exp, .\bin\rpcs3.lib, .\bin\rpcs3.pdb
|
|
|
|
|
2018-02-02 02:28:32 +00:00
|
|
|
- ps: | # prepare compatibility database for packaging
|
2018-02-02 22:38:56 +00:00
|
|
|
$db = irm $env:COMPATDB -erroraction silentlycontinue
|
2018-02-02 02:28:32 +00:00
|
|
|
if ($db -and $db.return_code -eq 0) {
|
2018-02-02 22:38:56 +00:00
|
|
|
$db | convertto-json -compress | out-file compat_database.dat -encoding utf8
|
2018-02-02 02:28:32 +00:00
|
|
|
}
|
|
|
|
copy-item compat_database.dat .\bin\GuiConfigs\compat_database.dat
|
|
|
|
|
2018-02-02 02:20:03 +00:00
|
|
|
- ps: | # package artifacts
|
2018-02-24 19:54:58 +00:00
|
|
|
7z a -m0=LZMA2 -mx9 $env:BUILD .\bin\*
|
2018-02-02 22:41:39 +00:00
|
|
|
7z a -m0=LZMA2 -mx9 openssl_win64.7z C:\OpenSSL-Win64\bin\libeay32.dll `
|
|
|
|
C:\OpenSSL-Win64\bin\ssleay32.dll
|
2018-02-02 02:20:03 +00:00
|
|
|
|
2018-02-04 21:29:56 +00:00
|
|
|
- ps: | # generate sha256 hashes
|
2018-02-24 19:54:58 +00:00
|
|
|
(get-filehash $env:BUILD -algorithm SHA256).Hash | out-file ("{0}.sha256" -f $env:BUILD) -encoding ascii
|
|
|
|
(get-filehash openssl_win64.7z -algorithm SHA256).Hash | out-file "openssl_win64.7z.sha256" -encoding ascii
|
2018-02-04 21:29:56 +00:00
|
|
|
|
2017-10-14 07:59:12 +00:00
|
|
|
test: off
|
|
|
|
|
2015-08-09 19:05:16 +00:00
|
|
|
artifacts:
|
2018-02-24 19:54:58 +00:00
|
|
|
- path: $(BUILD)
|
2018-02-02 02:20:03 +00:00
|
|
|
name: rpcs3
|
2018-02-24 19:54:58 +00:00
|
|
|
- path: $(BUILD).sha256
|
2018-02-04 21:29:56 +00:00
|
|
|
name: rpcs3 sha256 hash
|
2018-02-02 02:23:53 +00:00
|
|
|
- path: openssl_win64.7z
|
2018-02-03 01:00:45 +00:00
|
|
|
name: openssl
|
2018-02-04 21:29:56 +00:00
|
|
|
- path: openssl_win64.7z.sha256
|
|
|
|
name: openssl sha256 hash
|
2018-02-03 01:00:45 +00:00
|
|
|
|
|
|
|
on_finish:
|
|
|
|
- ps: | # update appveyor build version, done last to prevent webhook breakage
|
|
|
|
update-appveyorbuild -version $env:AVVER
|