Skip to content
Snippets Groups Projects
Commit f4949ecb authored by niansa's avatar niansa
Browse files

Add initial Windows CI

parent 8c64f9a3
No related branches found
No related tags found
No related merge requests found
...@@ -7,55 +7,42 @@ set -e ...@@ -7,55 +7,42 @@ set -e
#cd /suyu #cd /suyu
ccache -sv wine ccache.exe -sv
mkdir -p build && cd build mkdir -p build && cd build
cmake .. \ wine cmake.exe .. \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE="${PWD}/../CMakeModules/MinGWCross.cmake" \ -DCMAKE_INSTALL_PREFIX=C:/windows-libs/mingw64/ \
-DDISPLAY_VERSION="$1" \ -DDISPLAY_VERSION="$1" \
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF \
-DENABLE_QT_TRANSLATION=ON \ -DENABLE_QT_TRANSLATION=OFF \
-DUSE_CCACHE=ON \ -DUSE_CCACHE=ON \
-DSUYU_USE_BUNDLED_SDL2=OFF \ -DSUYU_USE_BUNDLED_SDL2=OFF \
-DSUYU_USE_EXTERNAL_SDL2=OFF \ -DSUYU_USE_EXTERNAL_SDL2=OFF \
-DENABLE_LIBUSB=NO \
-DSUYU_TESTS=OFF \ -DSUYU_TESTS=OFF \
-GNinja -GNinja
ninja suyu suyu-cmd wine ninja.exe suyu suyu-cmd
ccache -sv wine ccache.exe -sv
echo "Tests skipped" echo "Tests skipped"
# TODO: actually run the tests
#ctest -VV -C Release #ctest -VV -C Release
echo 'Prepare binaries...' echo 'Prepare binaries...'
cd .. cd ..
mkdir package 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 "suyu*.exe" -exec cp {} 'package' \; find build/ -name "suyu*.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 for i in package/*.exe; do
# we need to process pdb here, however, cv2pdb # we need to process pdb here, however, cv2pdb
# does not work here, so we just simply strip all the debug symbols # does not work here, so we just simply strip all the debug symbols
x86_64-w64-mingw32-strip "${i}" x86_64-w64-mingw32-strip "${i}"
done done
python3 .ci/scripts/windows/scan_dll.py package/*.exe package/imageformats/*.dll "package/" python3 .ci/scripts/windows/scan_dll.py package/*.exe "package/"
# copy FFmpeg libraries # copy FFmpeg libraries
EXTERNALS_PATH="$(pwd)/build/externals" EXTERNALS_PATH="$(pwd)/build/externals"
......
...@@ -25,3 +25,17 @@ build-linux: ...@@ -25,3 +25,17 @@ build-linux:
artifacts: artifacts:
paths: paths:
- artifacts/* - artifacts/*
build-windows:
stage: build
image: suyuemu/cibuild:windows-x64
resource_group: windows-ci
variables:
RELEASE_NAME: mainline
script:
- git submodule update --init --depth 1 --recursive
- bash .ci/scripts/windows/docker.sh
- bash .ci/scripts/windows/upload.sh
artifacts:
paths:
- artifacts/*
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment