diff --git a/appveyor.yml b/appveyor.yml index 036c048aa1..53b5f13d41 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,44 +1,82 @@ +#---------------------------------# +# general configuration # +#---------------------------------# + +# version format version: '0.0.3-{build}' -os: Visual Studio 2015 -platform: x64 -clone_folder: C:\rpcs3 -clone_depth: 3 -test: off +#---------------------------------# +# environment configuration # +#---------------------------------# -configuration: -# Release - - ReleaseLLVM +# Build worker image (VM template) +image: Visual Studio 2015 -before_build: - - ps: $env:Date="$(git show -s --date=short --format='%ad')" - - git submodule update --init 3rdparty/ffmpeg 3rdparty/pugixml asmjit 3rdparty/GSL 3rdparty/libpng Vulkan/glslang Vulkan/Vulkan-LoaderAndValidationLayers Utilities/yaml-cpp 3rdparty/cereal 3rdparty/zlib 3rdparty/hidapi 3rdparty/Optional - - 7z x zlib.7z -aos -oC:\rpcs3\ > null - - 7z x vulkan.7z -aos -oC:\rpcs3\Vulkan > null - - set BRANCH=%APPVEYOR_REPO_NAME%/%APPVEYOR_REPO_BRANCH%/#%APPVEYOR_PULL_REQUEST_NUMBER% - - if "%APPVEYOR_PULL_REQUEST_NUMBER%"=="" (set BRANCH=%APPVEYOR_REPO_NAME%/%APPVEYOR_REPO_BRANCH%) - - set CXXFLAGS=-DBRANCH=%BRANCH% - - if %configuration%==Release (cmake -G "Visual Studio 14 Win64" -DZLIB_ROOT=C:/rpcs3/zlib/ -DVULKAN_PREBUILT=ON) - else (7z x llvmlibs.7z -aos -oC:\rpcs3 > null && cmake -G "Visual Studio 14 Win64" -DLLVM_DIR=C:/rpcs3/llvm_build/lib/cmake/llvm -DZLIB_ROOT=C:/rpcs3/zlib/ -DVULKAN_PREBUILT=ON) +# clone directory +clone_folder: c:\projects\rpcs3 -build_script: - - cmake --build . --config Release -- /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" +# set clone depth +clone_depth: 3 # clone entire repository history if not defined -install: - - if not exist llvmlibs.7z appveyor DownloadFile "https://drive.google.com/uc?export=download&id=0B8A6NaxhQAGRY2k3Q2Yya05lcm8" -FileName llvmlibs.7z - - if not exist vulkan.7z appveyor DownloadFile "https://drive.google.com/uc?export=download&id=0B8A6NaxhQAGRaHYxV3VOS2d0a0U" -FileName vulkan.7z - - if not exist zlib.7z appveyor DownloadFile "https://drive.google.com/uc?export=download&id=0B-HVE3xvheVFX05lRFdnZlh5aUU" -FileName zlib.7z - - set QTDIR=C:\Qt\5.8\msvc2015_64 - - set OPENALDIR=C:\rpcs3\3rdparty\OpenAL - - set PATH=C:\Program Files (x86)\MSBuild\14.0\Bin;%QTDIR%;%PATH% - - set COMMIT_SHA=%APPVEYOR_REPO_COMMIT:~0,8% - -artifacts: - - path: bin - name: 'rpcs3-v0.0.3-$(Date)-$(COMMIT_SHA)_win64' - type: zip +# environment variables +environment: + QTDIR: C:\Qt\5.9.1\msvc2015_64 +# build cache to preserve files/folders between builds cache: - llvmlibs.7z -> appveyor.yml - vulkan.7z -> appveyor.yml - - zlib.7z -> appveyor.yml + +# scripts that run after cloning repository +install: + - git submodule 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 + +#---------------------------------# +# build configuration # +#---------------------------------# + +# build platform, i.e. x86, x64, Any CPU. This setting is optional. +platform: x64 + +# build Configuration, i.e. Debug, Release, etc. +configuration: Release - LLVM + +build: + parallel: true # enable MSBuild parallel builds + project: rpcs3.sln # path to Visual Studio solution or project + # MSBuild verbosity level + verbosity: normal + +# scripts to run before build +before_build: + - set BRANCH=%APPVEYOR_REPO_NAME%/%APPVEYOR_REPO_BRANCH%/#%APPVEYOR_PULL_REQUEST_NUMBER% + - if "%APPVEYOR_PULL_REQUEST_NUMBER%"=="" (set BRANCH=%APPVEYOR_REPO_NAME%/%APPVEYOR_REPO_BRANCH%) + - set PATH=%PATH%;%QTDIR% + - if not exist llvmlibs.7z appveyor DownloadFile "https://drive.google.com/uc?export=download&id=0B8A6NaxhQAGRY2k3Q2Yya05lcm8" -FileName llvmlibs.7z + - 7z x llvmlibs.7z -aos -o%APPVEYOR_BUILD_FOLDER% > null + - if not exist vulkan.7z appveyor DownloadFile "https://drive.google.com/uc?export=download&id=0B8A6NaxhQAGRaHYxV3VOS2d0a0U" -FileName vulkan.7z + - 7z x vulkan.7z -aos -o"%APPVEYOR_BUILD_FOLDER%\lib\%CONFIGURATION%-%PLATFORM%" > null + +# scripts to run *after* solution is built and *before* automatic packaging occurs (web apps, NuGet packages, Azure Cloud Services) +before_package: + - rm %APPVEYOR_BUILD_FOLDER%\bin\rpcs3.exp + - rm %APPVEYOR_BUILD_FOLDER%\bin\rpcs3.lib + - rm %APPVEYOR_BUILD_FOLDER%\bin\rpcs3.pdb + - set COMMIT_DATE=%APPVEYOR_REPO_COMMIT_TIMESTAMP:~0,10% + - set COMMIT_SHA=%APPVEYOR_REPO_COMMIT:~0,8% + +#---------------------------------# +# tests configuration # +#---------------------------------# + +# to disable automatic tests +test: off + +#---------------------------------# +# artifacts configuration # +#---------------------------------# + +# pushing entire folder as a zip archive +artifacts: + - path: bin + name: 'rpcs3-v0.0.3-$(COMMIT_DATE)-$(COMMIT_SHA)_win64'