suyu/.ci/scripts/windows/docker.sh
Crimson-Hawk e49c779bc0 try three of importing hidden files from legacy
On branch master
 Your branch is up to date with 'origin/master'.

 Changes to be committed:
	new file:   .ci/.DS_Store
	new file:   .ci/scripts/android/build.sh
	new file:   .ci/scripts/android/eabuild.sh
	new file:   .ci/scripts/android/mainlinebuild.sh
	new file:   .ci/scripts/android/upload.sh
	new file:   .ci/scripts/clang/docker.sh
	new file:   .ci/scripts/clang/exec.sh
	new file:   .ci/scripts/clang/upload.sh
	new file:   .ci/scripts/common/post-upload.sh
	new file:   .ci/scripts/common/pre-upload.sh
	new file:   .ci/scripts/format/docker.sh
	new file:   .ci/scripts/format/exec.sh
	new file:   .ci/scripts/format/script.sh
	new file:   .ci/scripts/linux/docker.sh
	new file:   .ci/scripts/linux/exec.sh
	new file:   .ci/scripts/linux/upload.sh
	new file:   .ci/scripts/merge/apply-patches-by-label-private.py
	new file:   .ci/scripts/merge/apply-patches-by-label.py
	new file:   .ci/scripts/merge/check-label-presence.py
	new file:   .ci/scripts/merge/yuzubot-git-config.sh
	new file:   .ci/scripts/transifex/docker.sh
	new file:   .ci/scripts/windows/docker.sh
	new file:   .ci/scripts/windows/exec.sh
	new file:   .ci/scripts/windows/install-vulkan-sdk.ps1
	new file:   .ci/scripts/windows/scan_dll.py
	new file:   .ci/scripts/windows/upload.ps1
	new file:   .ci/scripts/windows/upload.sh
	new file:   .ci/templates/build-mock.yml
	new file:   .ci/templates/build-msvc.yml
	new file:   .ci/templates/build-single.yml
	new file:   .ci/templates/build-standard.yml
	new file:   .ci/templates/build-testing.yml
	new file:   .ci/templates/format-check.yml
	new file:   .ci/templates/merge-private.yml
	new file:   .ci/templates/merge.yml
	new file:   .ci/templates/mergebot-private.yml
	new file:   .ci/templates/mergebot.yml
	new file:   .ci/templates/release-download.yml
	new file:   .ci/templates/release-github.yml
	new file:   .ci/templates/release-private-tag.yml
	new file:   .ci/templates/release-universal.yml
	new file:   .ci/templates/retrieve-artifact-source.yml
	new file:   .ci/templates/retrieve-master-source.yml
	new file:   .ci/templates/sync-source.yml
	new file:   .ci/yuzu-mainline-step1.yml
	new file:   .ci/yuzu-mainline-step2.yml
	new file:   .ci/yuzu-patreon-step1.yml
	new file:   .ci/yuzu-patreon-step2.yml
	new file:   .ci/yuzu-repo-sync.yml
	new file:   .ci/yuzu-verify.yml
	new file:   .codespellrc
	new file:   .git-blame-ignore-revs
	new file:   .gitattributes
	new file:   .gitignore
	new file:   .gitmodules
	new file:   .reuse/dep5
2024-03-05 20:20:29 +08:00

67 lines
1.8 KiB
Bash
Executable file

#!/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/ ';'