summaryrefslogtreecommitdiffstats
path: root/appveyor.yml
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--appveyor.yml178
1 files changed, 0 insertions, 178 deletions
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index cef19c259..000000000
--- a/appveyor.yml
+++ /dev/null
@@ -1,178 +0,0 @@
-# shallow clone
-clone_depth: 10
-
-cache:
- - C:\ProgramData\chocolatey\bin -> appveyor.yml
- - C:\ProgramData\chocolatey\lib -> appveyor.yml
-
-os: Visual Studio 2017
-
-environment:
- # Tell msys2 to add mingw64 to the path
- MSYSTEM: MINGW64
- # Tell msys2 to inherit the current directory when starting the shell
- CHERE_INVOKING: 1
- matrix:
- - BUILD_TYPE: msvc
- - BUILD_TYPE: mingw
-
-platform:
- - x64
-
-configuration:
- - Release
-
-install:
- - git submodule update --init --recursive
- - ps: |
- if ($env:BUILD_TYPE -eq 'mingw') {
- $dependencies = "mingw64/mingw-w64-x86_64-cmake",
- "mingw64/mingw-w64-x86_64-qt5",
- "mingw64/mingw-w64-x86_64-SDL2"
- # redirect err to null to prevent warnings from becoming errors
- # workaround to prevent pacman from failing due to cyclical dependencies
- C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw64/mingw-w64-x86_64-freetype mingw64/mingw-w64-x86_64-fontconfig" 2> $null
- C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S $dependencies" 2> $null
- }
-
-before_build:
- - mkdir %BUILD_TYPE%_build
- - cd %BUILD_TYPE%_build
- - ps: |
- $COMPAT = if ($env:ENABLE_COMPATIBILITY_REPORTING -eq $null) {0} else {$env:ENABLE_COMPATIBILITY_REPORTING}
- if ($env:BUILD_TYPE -eq 'msvc') {
- # redirect stderr and change the exit code to prevent powershell from cancelling the build if cmake prints a warning
- cmd /C 'cmake -G "Visual Studio 15 2017 Win64" -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_BUNDLED_UNICORN=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DUSE_DISCORD_PRESENCE=ON .. 2>&1 && exit 0'
- } else {
- C:\msys64\usr\bin\bash.exe -lc "cmake -G 'MSYS Makefiles' -DYUZU_BUILD_UNICORN=1 -DCMAKE_BUILD_TYPE=Release -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DUSE_DISCORD_PRESENCE=ON .. 2>&1"
- }
- - cd ..
-
-build_script:
- - ps: |
- if ($env:BUILD_TYPE -eq 'msvc') {
- # https://www.appveyor.com/docs/build-phase
- msbuild msvc_build/yuzu.sln /maxcpucount /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
- } else {
- C:\msys64\usr\bin\bash.exe -lc 'mingw32-make -C mingw_build/ 2>&1'
- }
-
-after_build:
- - ps: |
- $GITDATE = $(git show -s --date=short --format='%ad') -replace "-",""
- $GITREV = $(git show -s --format='%h')
-
- # Find out which kind of release we are producing by tag name
- if ($env:APPVEYOR_REPO_TAG_NAME) {
- $RELEASE_DIST, $RELEASE_VERSION = $env:APPVEYOR_REPO_TAG_NAME.split('-')
- } else {
- # There is no repo tag - make assumptions
- $RELEASE_DIST = "head"
- }
-
- if ($env:BUILD_TYPE -eq 'msvc') {
- # Where are these spaces coming from? Regardless, let's remove them
- $MSVC_BUILD_ZIP = "yuzu-windows-msvc-$GITDATE-$GITREV.zip" -replace " ", ""
- $MSVC_BUILD_PDB = "yuzu-windows-msvc-$GITDATE-$GITREV-debugsymbols.zip" -replace " ", ""
- $MSVC_SEVENZIP = "yuzu-windows-msvc-$GITDATE-$GITREV.7z" -replace " ", ""
-
- # set the build names as env vars so the artifacts can upload them
- $env:BUILD_ZIP = $MSVC_BUILD_ZIP
- $env:BUILD_SYMBOLS = $MSVC_BUILD_PDB
- $env:BUILD_UPDATE = $MSVC_SEVENZIP
-
- $BUILD_DIR = ".\msvc_build\bin\Release"
-
- # Make a debug symbol upload
- mkdir pdb
- Get-ChildItem "$BUILD_DIR\" -Recurse -Filter "*.pdb" | Copy-Item -destination .\pdb
- 7z a -tzip $MSVC_BUILD_PDB .\pdb\*.pdb
- rm "$BUILD_DIR\*.pdb"
-
- mkdir $RELEASE_DIST
- # get rid of extra exes by copying everything over, then deleting all the exes, then copying just the exes we want
- Copy-Item "$BUILD_DIR\*" -Destination $RELEASE_DIST -Recurse
- rm "$RELEASE_DIST\*.exe"
- Get-ChildItem "$BUILD_DIR" -Recurse -Filter "yuzu*.exe" | Copy-Item -destination $RELEASE_DIST
- Get-ChildItem "$BUILD_DIR" -Recurse -Filter "QtWebEngineProcess*.exe" | Copy-Item -destination $RELEASE_DIST
- Copy-Item .\license.txt -Destination $RELEASE_DIST
- Copy-Item .\README.md -Destination $RELEASE_DIST
- 7z a -tzip $MSVC_BUILD_ZIP $RELEASE_DIST\*
- 7z a $MSVC_SEVENZIP $RELEASE_DIST
- } else {
- $MINGW_BUILD_ZIP = "yuzu-windows-mingw-$GITDATE-$GITREV.zip" -replace " ", ""
- $MINGW_SEVENZIP = "yuzu-windows-mingw-$GITDATE-$GITREV.7z" -replace " ", ""
- # not going to bother adding separate debug symbols for mingw, so just upload a README for it
- # if someone wants to add them, change mingw to compile with -g and use objdump and strip to separate the symbols from the binary
- $MINGW_NO_DEBUG_SYMBOLS = "README_No_Debug_Symbols.txt"
- Set-Content -Path $MINGW_NO_DEBUG_SYMBOLS -Value "This is a workaround for Appveyor since msvc has debug symbols but mingw doesnt" -Force
-
- # store the build information in env vars so we can use them as artifacts
- $env:BUILD_ZIP = $MINGW_BUILD_ZIP
- $env:BUILD_SYMBOLS = $MINGW_NO_DEBUG_SYMBOLS
- $env:BUILD_UPDATE = $MINGW_SEVENZIP
-
- $CMAKE_SOURCE_DIR = "$env:APPVEYOR_BUILD_FOLDER"
- $CMAKE_BINARY_DIR = "$CMAKE_SOURCE_DIR/mingw_build/bin"
- $RELEASE_DIST = $RELEASE_DIST + "-mingw"
-
- mkdir $RELEASE_DIST
- mkdir $RELEASE_DIST/platforms
- mkdir $RELEASE_DIST/styles
- mkdir $RELEASE_DIST/imageformats
-
- # copy the compiled binaries and other release files to the release folder
- Get-ChildItem "$CMAKE_BINARY_DIR" -Filter "yuzu*.exe" | Copy-Item -destination $RELEASE_DIST
- Copy-Item -path "$CMAKE_SOURCE_DIR/license.txt" -destination $RELEASE_DIST
- Copy-Item -path "$CMAKE_SOURCE_DIR/README.md" -destination $RELEASE_DIST
-
- # copy the qt windows plugin dll to platforms
- Copy-Item -path "C:/msys64/mingw64/share/qt5/plugins/platforms/qwindows.dll" -force -destination "$RELEASE_DIST/platforms"
-
- # copy the qt windows vista style dll to platforms
- Copy-Item -path "C:/msys64/mingw64/share/qt5/plugins/styles/qwindowsvistastyle.dll" -force -destination "$RELEASE_DIST/styles"
-
- # copy the qt jpeg imageformat dll to platforms
- Copy-Item -path "C:/msys64/mingw64/share/qt5/plugins/imageformats/qjpeg.dll" -force -destination "$RELEASE_DIST/imageformats"
-
- # copy all the dll dependencies to the release folder
- . "./.appveyor/UtilityFunctions.ps1"
- $DLLSearchPath = "C:\msys64\mingw64\bin;$env:PATH"
- $MingwDLLs = RecursivelyGetDeps $DLLSearchPath "$RELEASE_DIST\yuzu.exe"
- $MingwDLLs += RecursivelyGetDeps $DLLSearchPath "$RELEASE_DIST\yuzu_cmd.exe"
- $MingwDLLs += RecursivelyGetDeps $DLLSearchPath "$RELEASE_DIST\imageformats\qjpeg.dll"
- Write-Host "Detected the following dependencies:"
- Write-Host $MingwDLLs
- foreach ($file in $MingwDLLs) {
- Copy-Item -path "$file" -force -destination "$RELEASE_DIST"
- }
-
- 7z a -tzip $MINGW_BUILD_ZIP $RELEASE_DIST\*
- 7z a $MINGW_SEVENZIP $RELEASE_DIST
- }
-
-test_script:
- - cd %BUILD_TYPE%_build
- - ps: |
- if ($env:BUILD_TYPE -eq 'msvc') {
- ctest -VV -C Release
- } else {
- C:\msys64\usr\bin\bash.exe -lc "ctest -VV -C Release"
- }
- - cd ..
-
-artifacts:
- - path: $(BUILD_ZIP)
- name: build
- type: zip
-
-deploy:
- provider: GitHub
- release: $(appveyor_repo_tag_name)
- auth_token:
- secure: QqePPnXbkzmXct5c8hZ2X5AbsthbI6cS1Sr+VBzcD8oUOIjfWJJKXVAQGUbQAbb0
- artifact: update,build
- draft: false
- prerelease: false
- on:
- appveyor_repo_tag: true