summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2019-12-17 21:49:22 -0500
committerGravatar GitHub2019-12-17 21:49:22 -0500
commitc053269017d83826311be4356630fb5cb2cabc8e (patch)
tree3a4fb8b18960ed55a73b9475b12b0994563164fd
parentMerge pull request #3173 from yuzu-emu/bunnei-spscqueue (diff)
parentdelete .appeveyor dir (diff)
downloadyuzu-c053269017d83826311be4356630fb5cb2cabc8e.tar.gz
yuzu-c053269017d83826311be4356630fb5cb2cabc8e.tar.xz
yuzu-c053269017d83826311be4356630fb5cb2cabc8e.zip
Merge pull request #3227 from amilajack/patch-1
delete appveyor config
-rw-r--r--.appveyor/UtilityFunctions.ps139
-rw-r--r--appveyor.yml178
2 files changed, 0 insertions, 217 deletions
diff --git a/.appveyor/UtilityFunctions.ps1 b/.appveyor/UtilityFunctions.ps1
deleted file mode 100644
index fd7476314..000000000
--- a/.appveyor/UtilityFunctions.ps1
+++ /dev/null
@@ -1,39 +0,0 @@
1# Set-up Visual Studio Command Prompt environment for PowerShell
2pushd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\"
3cmd /c "VsDevCmd.bat -arch=x64 & set" | foreach {
4 if ($_ -match "=") {
5 $v = $_.split("="); Set-Item -Force -Path "ENV:\$($v[0])" -Value "$($v[1])"
6 }
7}
8popd
9
10function Which ($search_path, $name) {
11 ($search_path).Split(";") | Get-ChildItem -Filter $name | Select -First 1 -Exp FullName
12}
13
14function GetDeps ($search_path, $binary) {
15 ((dumpbin /dependents $binary).Where({ $_ -match "dependencies:"}, "SkipUntil") | Select-String "[^ ]*\.dll").Matches | foreach {
16 Which $search_path $_.Value
17 }
18}
19
20function RecursivelyGetDeps ($search_path, $binary) {
21 $final_deps = @()
22 $deps_to_process = GetDeps $search_path $binary
23 while ($deps_to_process.Count -gt 0) {
24 $current, $deps_to_process = $deps_to_process
25 if ($final_deps -contains $current) { continue }
26
27 # Is this a system dll file?
28 # We use the same algorithm that cmake uses to determine this.
29 if ($current -match "$([regex]::Escape($env:SystemRoot))\\sys") { continue }
30 if ($current -match "$([regex]::Escape($env:WinDir))\\sys") { continue }
31 if ($current -match "\\msvc[^\\]+dll") { continue }
32 if ($current -match "\\api-ms-win-[^\\]+dll") { continue }
33
34 $final_deps += $current
35 $new_deps = GetDeps $search_path $current
36 $deps_to_process += ($new_deps | ?{-not ($final_deps -contains $_)})
37 }
38 return $final_deps
39}
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index cef19c259..000000000
--- a/appveyor.yml
+++ /dev/null
@@ -1,178 +0,0 @@
1# shallow clone
2clone_depth: 10
3
4cache:
5 - C:\ProgramData\chocolatey\bin -> appveyor.yml
6 - C:\ProgramData\chocolatey\lib -> appveyor.yml
7
8os: Visual Studio 2017
9
10environment:
11 # Tell msys2 to add mingw64 to the path
12 MSYSTEM: MINGW64
13 # Tell msys2 to inherit the current directory when starting the shell
14 CHERE_INVOKING: 1
15 matrix:
16 - BUILD_TYPE: msvc
17 - BUILD_TYPE: mingw
18
19platform:
20 - x64
21
22configuration:
23 - Release
24
25install:
26 - git submodule update --init --recursive
27 - ps: |
28 if ($env:BUILD_TYPE -eq 'mingw') {
29 $dependencies = "mingw64/mingw-w64-x86_64-cmake",
30 "mingw64/mingw-w64-x86_64-qt5",
31 "mingw64/mingw-w64-x86_64-SDL2"
32 # redirect err to null to prevent warnings from becoming errors
33 # workaround to prevent pacman from failing due to cyclical dependencies
34 C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw64/mingw-w64-x86_64-freetype mingw64/mingw-w64-x86_64-fontconfig" 2> $null
35 C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S $dependencies" 2> $null
36 }
37
38before_build:
39 - mkdir %BUILD_TYPE%_build
40 - cd %BUILD_TYPE%_build
41 - ps: |
42 $COMPAT = if ($env:ENABLE_COMPATIBILITY_REPORTING -eq $null) {0} else {$env:ENABLE_COMPATIBILITY_REPORTING}
43 if ($env:BUILD_TYPE -eq 'msvc') {
44 # redirect stderr and change the exit code to prevent powershell from cancelling the build if cmake prints a warning
45 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'
46 } else {
47 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"
48 }
49 - cd ..
50
51build_script:
52 - ps: |
53 if ($env:BUILD_TYPE -eq 'msvc') {
54 # https://www.appveyor.com/docs/build-phase
55 msbuild msvc_build/yuzu.sln /maxcpucount /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
56 } else {
57 C:\msys64\usr\bin\bash.exe -lc 'mingw32-make -C mingw_build/ 2>&1'
58 }
59
60after_build:
61 - ps: |
62 $GITDATE = $(git show -s --date=short --format='%ad') -replace "-",""
63 $GITREV = $(git show -s --format='%h')
64
65 # Find out which kind of release we are producing by tag name
66 if ($env:APPVEYOR_REPO_TAG_NAME) {
67 $RELEASE_DIST, $RELEASE_VERSION = $env:APPVEYOR_REPO_TAG_NAME.split('-')
68 } else {
69 # There is no repo tag - make assumptions
70 $RELEASE_DIST = "head"
71 }
72
73 if ($env:BUILD_TYPE -eq 'msvc') {
74 # Where are these spaces coming from? Regardless, let's remove them
75 $MSVC_BUILD_ZIP = "yuzu-windows-msvc-$GITDATE-$GITREV.zip" -replace " ", ""
76 $MSVC_BUILD_PDB = "yuzu-windows-msvc-$GITDATE-$GITREV-debugsymbols.zip" -replace " ", ""
77 $MSVC_SEVENZIP = "yuzu-windows-msvc-$GITDATE-$GITREV.7z" -replace " ", ""
78
79 # set the build names as env vars so the artifacts can upload them
80 $env:BUILD_ZIP = $MSVC_BUILD_ZIP
81 $env:BUILD_SYMBOLS = $MSVC_BUILD_PDB
82 $env:BUILD_UPDATE = $MSVC_SEVENZIP
83
84 $BUILD_DIR = ".\msvc_build\bin\Release"
85
86 # Make a debug symbol upload
87 mkdir pdb
88 Get-ChildItem "$BUILD_DIR\" -Recurse -Filter "*.pdb" | Copy-Item -destination .\pdb
89 7z a -tzip $MSVC_BUILD_PDB .\pdb\*.pdb
90 rm "$BUILD_DIR\*.pdb"
91
92 mkdir $RELEASE_DIST
93 # get rid of extra exes by copying everything over, then deleting all the exes, then copying just the exes we want
94 Copy-Item "$BUILD_DIR\*" -Destination $RELEASE_DIST -Recurse
95 rm "$RELEASE_DIST\*.exe"
96 Get-ChildItem "$BUILD_DIR" -Recurse -Filter "yuzu*.exe" | Copy-Item -destination $RELEASE_DIST
97 Get-ChildItem "$BUILD_DIR" -Recurse -Filter "QtWebEngineProcess*.exe" | Copy-Item -destination $RELEASE_DIST
98 Copy-Item .\license.txt -Destination $RELEASE_DIST
99 Copy-Item .\README.md -Destination $RELEASE_DIST
100 7z a -tzip $MSVC_BUILD_ZIP $RELEASE_DIST\*
101 7z a $MSVC_SEVENZIP $RELEASE_DIST
102 } else {
103 $MINGW_BUILD_ZIP = "yuzu-windows-mingw-$GITDATE-$GITREV.zip" -replace " ", ""
104 $MINGW_SEVENZIP = "yuzu-windows-mingw-$GITDATE-$GITREV.7z" -replace " ", ""
105 # not going to bother adding separate debug symbols for mingw, so just upload a README for it
106 # if someone wants to add them, change mingw to compile with -g and use objdump and strip to separate the symbols from the binary
107 $MINGW_NO_DEBUG_SYMBOLS = "README_No_Debug_Symbols.txt"
108 Set-Content -Path $MINGW_NO_DEBUG_SYMBOLS -Value "This is a workaround for Appveyor since msvc has debug symbols but mingw doesnt" -Force
109
110 # store the build information in env vars so we can use them as artifacts
111 $env:BUILD_ZIP = $MINGW_BUILD_ZIP
112 $env:BUILD_SYMBOLS = $MINGW_NO_DEBUG_SYMBOLS
113 $env:BUILD_UPDATE = $MINGW_SEVENZIP
114
115 $CMAKE_SOURCE_DIR = "$env:APPVEYOR_BUILD_FOLDER"
116 $CMAKE_BINARY_DIR = "$CMAKE_SOURCE_DIR/mingw_build/bin"
117 $RELEASE_DIST = $RELEASE_DIST + "-mingw"
118
119 mkdir $RELEASE_DIST
120 mkdir $RELEASE_DIST/platforms
121 mkdir $RELEASE_DIST/styles
122 mkdir $RELEASE_DIST/imageformats
123
124 # copy the compiled binaries and other release files to the release folder
125 Get-ChildItem "$CMAKE_BINARY_DIR" -Filter "yuzu*.exe" | Copy-Item -destination $RELEASE_DIST
126 Copy-Item -path "$CMAKE_SOURCE_DIR/license.txt" -destination $RELEASE_DIST
127 Copy-Item -path "$CMAKE_SOURCE_DIR/README.md" -destination $RELEASE_DIST
128
129 # copy the qt windows plugin dll to platforms
130 Copy-Item -path "C:/msys64/mingw64/share/qt5/plugins/platforms/qwindows.dll" -force -destination "$RELEASE_DIST/platforms"
131
132 # copy the qt windows vista style dll to platforms
133 Copy-Item -path "C:/msys64/mingw64/share/qt5/plugins/styles/qwindowsvistastyle.dll" -force -destination "$RELEASE_DIST/styles"
134
135 # copy the qt jpeg imageformat dll to platforms
136 Copy-Item -path "C:/msys64/mingw64/share/qt5/plugins/imageformats/qjpeg.dll" -force -destination "$RELEASE_DIST/imageformats"
137
138 # copy all the dll dependencies to the release folder
139 . "./.appveyor/UtilityFunctions.ps1"
140 $DLLSearchPath = "C:\msys64\mingw64\bin;$env:PATH"
141 $MingwDLLs = RecursivelyGetDeps $DLLSearchPath "$RELEASE_DIST\yuzu.exe"
142 $MingwDLLs += RecursivelyGetDeps $DLLSearchPath "$RELEASE_DIST\yuzu_cmd.exe"
143 $MingwDLLs += RecursivelyGetDeps $DLLSearchPath "$RELEASE_DIST\imageformats\qjpeg.dll"
144 Write-Host "Detected the following dependencies:"
145 Write-Host $MingwDLLs
146 foreach ($file in $MingwDLLs) {
147 Copy-Item -path "$file" -force -destination "$RELEASE_DIST"
148 }
149
150 7z a -tzip $MINGW_BUILD_ZIP $RELEASE_DIST\*
151 7z a $MINGW_SEVENZIP $RELEASE_DIST
152 }
153
154test_script:
155 - cd %BUILD_TYPE%_build
156 - ps: |
157 if ($env:BUILD_TYPE -eq 'msvc') {
158 ctest -VV -C Release
159 } else {
160 C:\msys64\usr\bin\bash.exe -lc "ctest -VV -C Release"
161 }
162 - cd ..
163
164artifacts:
165 - path: $(BUILD_ZIP)
166 name: build
167 type: zip
168
169deploy:
170 provider: GitHub
171 release: $(appveyor_repo_tag_name)
172 auth_token:
173 secure: QqePPnXbkzmXct5c8hZ2X5AbsthbI6cS1Sr+VBzcD8oUOIjfWJJKXVAQGUbQAbb0
174 artifact: update,build
175 draft: false
176 prerelease: false
177 on:
178 appveyor_repo_tag: true