mirror of
https://github.com/yuzu-emu/yuzu-android.git
synced 2025-09-05 16:53:23 +00:00
Delete .ci/scripts/windows directory
This commit is contained in:
parent
87dc2c9ada
commit
ff9adc3550
|
@ -1,66 +0,0 @@
|
||||||
#!/bin/bash -ex
|
|
||||||
|
|
||||||
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
#cd /yuzu
|
|
||||||
|
|
||||||
ccache -sv
|
|
||||||
|
|
||||||
mkdir -p build && cd build
|
|
||||||
cmake .. \
|
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DCMAKE_TOOLCHAIN_FILE="${PWD}/../CMakeModules/MinGWCross.cmake" \
|
|
||||||
-DDISPLAY_VERSION="$1" \
|
|
||||||
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
|
|
||||||
-DENABLE_QT_TRANSLATION=ON \
|
|
||||||
-DUSE_CCACHE=ON \
|
|
||||||
-DYUZU_USE_BUNDLED_SDL2=OFF \
|
|
||||||
-DYUZU_USE_EXTERNAL_SDL2=OFF \
|
|
||||||
-DYUZU_TESTS=OFF \
|
|
||||||
-GNinja
|
|
||||||
ninja yuzu yuzu-cmd
|
|
||||||
|
|
||||||
ccache -sv
|
|
||||||
|
|
||||||
echo "Tests skipped"
|
|
||||||
#ctest -VV -C Release
|
|
||||||
|
|
||||||
echo 'Prepare binaries...'
|
|
||||||
cd ..
|
|
||||||
mkdir package
|
|
||||||
|
|
||||||
if [ -d "/usr/x86_64-w64-mingw32/lib/qt5/plugins/platforms/" ]; then
|
|
||||||
QT_PLUGINS_PATH='/usr/x86_64-w64-mingw32/lib/qt5/plugins'
|
|
||||||
else
|
|
||||||
#fallback to qt
|
|
||||||
QT_PLUGINS_PATH='/usr/x86_64-w64-mingw32/lib/qt/plugins'
|
|
||||||
fi
|
|
||||||
|
|
||||||
find build/ -name "yuzu*.exe" -exec cp {} 'package' \;
|
|
||||||
|
|
||||||
# copy Qt plugins
|
|
||||||
mkdir package/platforms
|
|
||||||
cp -v "${QT_PLUGINS_PATH}/platforms/qwindows.dll" package/platforms/
|
|
||||||
cp -rv "${QT_PLUGINS_PATH}/mediaservice/" package/
|
|
||||||
cp -rv "${QT_PLUGINS_PATH}/imageformats/" package/
|
|
||||||
cp -rv "${QT_PLUGINS_PATH}/styles/" package/
|
|
||||||
rm -f package/mediaservice/*d.dll
|
|
||||||
|
|
||||||
for i in package/*.exe; do
|
|
||||||
# we need to process pdb here, however, cv2pdb
|
|
||||||
# does not work here, so we just simply strip all the debug symbols
|
|
||||||
x86_64-w64-mingw32-strip "${i}"
|
|
||||||
done
|
|
||||||
|
|
||||||
python3 .ci/scripts/windows/scan_dll.py package/*.exe package/imageformats/*.dll "package/"
|
|
||||||
|
|
||||||
# copy FFmpeg libraries
|
|
||||||
EXTERNALS_PATH="$(pwd)/build/externals"
|
|
||||||
FFMPEG_DLL_PATH="$(find "${EXTERNALS_PATH}" -maxdepth 1 -type d | grep 'ffmpeg-')/bin"
|
|
||||||
find ${FFMPEG_DLL_PATH} -type f -regex ".*\.dll" -exec cp -nv {} package/ ';'
|
|
||||||
|
|
||||||
# copy libraries from yuzu.exe path
|
|
||||||
find "$(pwd)/build/bin/" -type f -regex ".*\.dll" -exec cp -v {} package/ ';'
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/bash -ex
|
|
||||||
|
|
||||||
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
mkdir -p "ccache" || true
|
|
||||||
chmod a+x ./.ci/scripts/windows/docker.sh
|
|
||||||
# the UID for the container yuzu user is 1027
|
|
||||||
sudo chown -R 1027 ./
|
|
||||||
docker run -e CCACHE_DIR=/yuzu/ccache -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-mingw /bin/bash -ex /yuzu/.ci/scripts/windows/docker.sh "$1"
|
|
||||||
sudo chown -R $UID ./
|
|
|
@ -1,33 +0,0 @@
|
||||||
# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
|
|
||||||
$ErrorActionPreference = "Stop"
|
|
||||||
|
|
||||||
$VulkanSDKVer = "1.3.250.1"
|
|
||||||
$ExeFile = "VulkanSDK-$VulkanSDKVer-Installer.exe"
|
|
||||||
$Uri = "https://sdk.lunarg.com/sdk/download/$VulkanSDKVer/windows/$ExeFile"
|
|
||||||
$Destination = "./$ExeFile"
|
|
||||||
|
|
||||||
echo "Downloading Vulkan SDK $VulkanSDKVer from $Uri"
|
|
||||||
$WebClient = New-Object System.Net.WebClient
|
|
||||||
$WebClient.DownloadFile($Uri, $Destination)
|
|
||||||
echo "Finished downloading $ExeFile"
|
|
||||||
|
|
||||||
$VULKAN_SDK = "C:/VulkanSDK/$VulkanSDKVer"
|
|
||||||
$Arguments = "--root `"$VULKAN_SDK`" --accept-licenses --default-answer --confirm-command install"
|
|
||||||
|
|
||||||
echo "Installing Vulkan SDK $VulkanSDKVer"
|
|
||||||
$InstallProcess = Start-Process -FilePath $Destination -NoNewWindow -PassThru -Wait -ArgumentList $Arguments
|
|
||||||
$ExitCode = $InstallProcess.ExitCode
|
|
||||||
|
|
||||||
if ($ExitCode -ne 0) {
|
|
||||||
echo "Error installing Vulkan SDK $VulkanSDKVer (Error: $ExitCode)"
|
|
||||||
Exit $ExitCode
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "Finished installing Vulkan SDK $VulkanSDKVer"
|
|
||||||
|
|
||||||
if ("$env:GITHUB_ACTIONS" -eq "true") {
|
|
||||||
echo "VULKAN_SDK=$VULKAN_SDK" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
|
||||||
echo "$VULKAN_SDK/Bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
|
||||||
}
|
|
|
@ -1,109 +0,0 @@
|
||||||
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
import pefile
|
|
||||||
import sys
|
|
||||||
import re
|
|
||||||
import os
|
|
||||||
import queue
|
|
||||||
import shutil
|
|
||||||
|
|
||||||
# constant definitions
|
|
||||||
KNOWN_SYS_DLLS = ['WINMM.DLL', 'MSVCRT.DLL', 'VERSION.DLL', 'MPR.DLL',
|
|
||||||
'DWMAPI.DLL', 'UXTHEME.DLL', 'DNSAPI.DLL', 'IPHLPAPI.DLL']
|
|
||||||
# below is for Ubuntu 18.04 with specified PPA enabled, if you are using
|
|
||||||
# other distro or different repositories, change the following accordingly
|
|
||||||
DLL_PATH = [
|
|
||||||
'/usr/x86_64-w64-mingw32/bin/',
|
|
||||||
'/usr/x86_64-w64-mingw32/lib/',
|
|
||||||
'/usr/lib/gcc/x86_64-w64-mingw32/7.3-posix/'
|
|
||||||
]
|
|
||||||
|
|
||||||
missing = []
|
|
||||||
|
|
||||||
|
|
||||||
def parse_imports(file_name):
|
|
||||||
results = []
|
|
||||||
pe = pefile.PE(file_name, fast_load=True)
|
|
||||||
pe.parse_data_directories()
|
|
||||||
|
|
||||||
for entry in pe.DIRECTORY_ENTRY_IMPORT:
|
|
||||||
current = entry.dll.decode()
|
|
||||||
current_u = current.upper() # b/c Windows is often case insensitive
|
|
||||||
# here we filter out system dlls
|
|
||||||
# dll w/ names like *32.dll are likely to be system dlls
|
|
||||||
if current_u.upper() not in KNOWN_SYS_DLLS and not re.match(string=current_u, pattern=r'.*32\.DLL'):
|
|
||||||
results.append(current)
|
|
||||||
|
|
||||||
return results
|
|
||||||
|
|
||||||
|
|
||||||
def parse_imports_recursive(file_name, path_list=[]):
|
|
||||||
q = queue.Queue() # create a FIFO queue
|
|
||||||
# file_name can be a string or a list for the convenience
|
|
||||||
if isinstance(file_name, str):
|
|
||||||
q.put(file_name)
|
|
||||||
elif isinstance(file_name, list):
|
|
||||||
for i in file_name:
|
|
||||||
q.put(i)
|
|
||||||
full_list = []
|
|
||||||
while q.qsize():
|
|
||||||
current = q.get_nowait()
|
|
||||||
print('> %s' % current)
|
|
||||||
deps = parse_imports(current)
|
|
||||||
# if this dll does not have any import, ignore it
|
|
||||||
if not deps:
|
|
||||||
continue
|
|
||||||
for dep in deps:
|
|
||||||
# the dependency already included in the list, skip
|
|
||||||
if dep in full_list:
|
|
||||||
continue
|
|
||||||
# find the requested dll in the provided paths
|
|
||||||
full_path = find_dll(dep)
|
|
||||||
if not full_path:
|
|
||||||
missing.append(dep)
|
|
||||||
continue
|
|
||||||
full_list.append(dep)
|
|
||||||
q.put(full_path)
|
|
||||||
path_list.append(full_path)
|
|
||||||
return full_list
|
|
||||||
|
|
||||||
|
|
||||||
def find_dll(name):
|
|
||||||
for path in DLL_PATH:
|
|
||||||
for root, _, files in os.walk(path):
|
|
||||||
for f in files:
|
|
||||||
if name.lower() == f.lower():
|
|
||||||
return os.path.join(root, f)
|
|
||||||
|
|
||||||
|
|
||||||
def deploy(name, dst, dry_run=False):
|
|
||||||
dlls_path = []
|
|
||||||
parse_imports_recursive(name, dlls_path)
|
|
||||||
for dll_entry in dlls_path:
|
|
||||||
if not dry_run:
|
|
||||||
shutil.copy(dll_entry, dst)
|
|
||||||
else:
|
|
||||||
print('[Dry-Run] Copy %s to %s' % (dll_entry, dst))
|
|
||||||
print('Deploy completed.')
|
|
||||||
return dlls_path
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
if len(sys.argv) < 3:
|
|
||||||
print('Usage: %s [files to examine ...] [target deploy directory]')
|
|
||||||
return 1
|
|
||||||
to_deploy = sys.argv[1:-1]
|
|
||||||
tgt_dir = sys.argv[-1]
|
|
||||||
if not os.path.isdir(tgt_dir):
|
|
||||||
print('%s is not a directory.' % tgt_dir)
|
|
||||||
return 1
|
|
||||||
print('Scanning dependencies...')
|
|
||||||
deploy(to_deploy, tgt_dir)
|
|
||||||
if missing:
|
|
||||||
print('Following DLLs are not found: %s' % ('\n'.join(missing)))
|
|
||||||
return 0
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
|
@ -1,118 +0,0 @@
|
||||||
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
param($BUILD_NAME)
|
|
||||||
|
|
||||||
$GITDATE = $(git show -s --date=short --format='%ad') -replace "-", ""
|
|
||||||
$GITREV = $(git show -s --format='%h')
|
|
||||||
|
|
||||||
if ("$BUILD_NAME" -eq "mainline") {
|
|
||||||
$RELEASE_DIST = "yuzu-windows-msvc"
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$RELEASE_DIST = "yuzu-windows-msvc-$BUILD_NAME"
|
|
||||||
}
|
|
||||||
|
|
||||||
$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 " ", ""
|
|
||||||
$MSVC_TAR = "yuzu-windows-msvc-$GITDATE-$GITREV.tar" -replace " ", ""
|
|
||||||
$MSVC_TARXZ = "yuzu-windows-msvc-$GITDATE-$GITREV.tar.xz" -replace " ", ""
|
|
||||||
$MSVC_SOURCE = "yuzu-windows-msvc-source-$GITDATE-$GITREV" -replace " ", ""
|
|
||||||
$MSVC_SOURCE_TAR = "$MSVC_SOURCE.tar"
|
|
||||||
$MSVC_SOURCE_TARXZ = "$MSVC_SOURCE_TAR.xz"
|
|
||||||
|
|
||||||
$env:BUILD_ZIP = $MSVC_BUILD_ZIP
|
|
||||||
$env:BUILD_SYMBOLS = $MSVC_BUILD_PDB
|
|
||||||
$env:BUILD_UPDATE = $MSVC_SEVENZIP
|
|
||||||
|
|
||||||
if (Test-Path -Path ".\build\bin\Release") {
|
|
||||||
$BUILD_DIR = ".\build\bin\Release"
|
|
||||||
} else {
|
|
||||||
$BUILD_DIR = ".\build\bin\"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Cleanup unneeded data in submodules
|
|
||||||
git submodule foreach git clean -fxd
|
|
||||||
|
|
||||||
# Upload debugging symbols
|
|
||||||
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"
|
|
||||||
|
|
||||||
# Create artifact directories
|
|
||||||
mkdir $RELEASE_DIST
|
|
||||||
mkdir $MSVC_SOURCE
|
|
||||||
mkdir "artifacts"
|
|
||||||
|
|
||||||
$CURRENT_DIR = Convert-Path .
|
|
||||||
|
|
||||||
# Build a tar.xz for the source of the release
|
|
||||||
git clone --depth 1 file://$CURRENT_DIR $MSVC_SOURCE
|
|
||||||
7z a -r -ttar $MSVC_SOURCE_TAR $MSVC_SOURCE
|
|
||||||
7z a -r -txz $MSVC_SOURCE_TARXZ $MSVC_SOURCE_TAR
|
|
||||||
|
|
||||||
# Following section is quick hack to package artifacts differently for GitHub Actions
|
|
||||||
if ("$env:GITHUB_ACTIONS" -eq "true") {
|
|
||||||
echo "Hello GitHub Actions"
|
|
||||||
|
|
||||||
# With vcpkg we now have a few more dll files
|
|
||||||
ls .\build\bin\*.dll
|
|
||||||
cp .\build\bin\*.dll .\artifacts\
|
|
||||||
|
|
||||||
# Hopefully there is an exe in either .\build\bin or .\build\bin\Release
|
|
||||||
cp .\build\bin\yuzu*.exe .\artifacts\
|
|
||||||
Copy-Item "$BUILD_DIR\*" -Destination "artifacts" -Recurse
|
|
||||||
Remove-Item .\artifacts\tests.exe -ErrorAction ignore
|
|
||||||
|
|
||||||
# None of the other GHA builds are including source, so commenting out today
|
|
||||||
#Copy-Item $MSVC_SOURCE_TARXZ -Destination "artifacts"
|
|
||||||
|
|
||||||
# Debugging symbols
|
|
||||||
cp .\build\bin\yuzu*.pdb .\artifacts\
|
|
||||||
|
|
||||||
# Write out a tag BUILD_TAG to environment for the Upload step
|
|
||||||
# We're getting ${{ github.event.number }} as $env:PR_NUMBER"
|
|
||||||
echo "env:PR_NUMBER: $env:PR_NUMBER"
|
|
||||||
if (Test-Path env:PR_NUMBER) {
|
|
||||||
$PR_NUMBER = $env:PR_NUMBER.Substring(2) -as [int]
|
|
||||||
$PR_NUMBER_TAG = "pr"+([string]$PR_NUMBER).PadLeft(5,'0')
|
|
||||||
if ($PR_NUMBER -gt 1){
|
|
||||||
$BUILD_TAG="verify-$PR_NUMBER_TAG-$GITDATE-$GITREV"
|
|
||||||
} else {
|
|
||||||
$BUILD_TAG = "verify-$GITDATE-$GITREV"
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
# If env:PR_NUMBER isn't set, we should still write out a variable
|
|
||||||
$BUILD_TAG = "verify-$GITDATE-$GITREV"
|
|
||||||
}
|
|
||||||
echo "BUILD_TAG=$BUILD_TAG"
|
|
||||||
echo "BUILD_TAG=$BUILD_TAG" >> $env:GITHUB_ENV
|
|
||||||
|
|
||||||
# For extra job, just the exe
|
|
||||||
$INDIVIDUAL_EXE = "yuzu-msvc-$BUILD_TAG.exe"
|
|
||||||
echo "INDIVIDUAL_EXE=$INDIVIDUAL_EXE"
|
|
||||||
echo "INDIVIDUAL_EXE=$INDIVIDUAL_EXE" >> $env:GITHUB_ENV
|
|
||||||
echo "Just the exe: $INDIVIDUAL_EXE"
|
|
||||||
cp .\artifacts\yuzu.exe .\$INDIVIDUAL_EXE
|
|
||||||
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
# Build the final release artifacts
|
|
||||||
Copy-Item $MSVC_SOURCE_TARXZ -Destination $RELEASE_DIST
|
|
||||||
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
|
|
||||||
7z a -tzip $MSVC_BUILD_ZIP $RELEASE_DIST\*
|
|
||||||
7z a $MSVC_SEVENZIP $RELEASE_DIST
|
|
||||||
|
|
||||||
7z a -r -ttar $MSVC_TAR $RELEASE_DIST
|
|
||||||
7z a -r -txz $MSVC_TARXZ $MSVC_TAR
|
|
||||||
|
|
||||||
Get-ChildItem . -Filter "*.zip" | Copy-Item -destination "artifacts"
|
|
||||||
Get-ChildItem . -Filter "*.7z" | Copy-Item -destination "artifacts"
|
|
||||||
Get-ChildItem . -Filter "*.tar.xz" | Copy-Item -destination "artifacts"
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
#!/bin/bash -ex
|
|
||||||
|
|
||||||
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
. .ci/scripts/common/pre-upload.sh
|
|
||||||
|
|
||||||
REV_NAME="yuzu-windows-mingw-${GITDATE}-${GITREV}"
|
|
||||||
ARCHIVE_NAME="${REV_NAME}.tar.xz"
|
|
||||||
COMPRESSION_FLAGS="-cJvf"
|
|
||||||
|
|
||||||
if [ "${RELEASE_NAME}" = "mainline" ]; then
|
|
||||||
DIR_NAME="${REV_NAME}"
|
|
||||||
else
|
|
||||||
DIR_NAME="${REV_NAME}_${RELEASE_NAME}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir "$DIR_NAME"
|
|
||||||
# get around the permission issues
|
|
||||||
cp -r package/* "$DIR_NAME"
|
|
||||||
|
|
||||||
. .ci/scripts/common/post-upload.sh
|
|
Loading…
Reference in a new issue