2020-05-05 00:50:03 +00:00
version : 0.0 .0 .{build}
2020-03-23 02:34:50 +00:00
clone_depth : 1
environment :
matrix :
2022-01-10 03:55:26 +00:00
- APPVEYOR_BUILD_WORKER_IMAGE : Visual Studio 2022
2024-07-13 18:19:49 +00:00
QTDIR : C:\Qt\6.7
2024-02-17 05:01:44 +00:00
- APPVEYOR_BUILD_WORKER_IMAGE : macOS-Sonoma
2020-03-23 02:34:50 +00:00
BUILD_TARGET : macos
2024-07-13 18:53:43 +00:00
QTDIR : Qt/6.6
2020-03-23 02:34:50 +00:00
- APPVEYOR_BUILD_WORKER_IMAGE : Ubuntu1604
BUILD_TARGET : steamlink
2023-07-15 05:47:26 +00:00
- APPVEYOR_BUILD_WORKER_IMAGE : Ubuntu2004
2020-03-23 02:34:50 +00:00
BUILD_TARGET : linux
2024-06-19 15:29:03 +00:00
FFMPEG_CONFIGURE_ARGS : --enable-pic --disable-static --enable-shared --disable-all --enable-avcodec --enable-avformat --enable-decoder=h264 --enable-decoder=hevc --enable-decoder=av1 --enable-hwaccel=h264_vaapi --enable-hwaccel=hevc_vaapi --enable-hwaccel=av1_vaapi --enable-hwaccel=h264_vdpau --enable-hwaccel=hevc_vdpau --enable-hwaccel=av1_vdpau --enable-libdrm --enable-hwaccel=h264_vulkan --enable-hwaccel=hevc_vulkan --enable-hwaccel=av1_vulkan --enable-libdav1d --enable-decoder=libdav1d
2020-03-23 02:34:50 +00:00
install :
2024-07-13 18:19:49 +00:00
- cmd : 'copy /y scripts\appveyor\qmake.bat %QTDIR%\msvc2019_arm64\bin\'
- cmd : 'copy /y scripts\appveyor\qtpaths.bat %QTDIR%\msvc2019_arm64\bin\'
- cmd : 'copy /y scripts\appveyor\target_qt.conf %QTDIR%\msvc2019_arm64\bin\'
2020-03-23 02:34:50 +00:00
- sh : '[ "$BUILD_TARGET" != macos ] || nvm use node'
- sh : '[ "$BUILD_TARGET" != macos ] || npm install --global create-dmg'
- sh : '[ "$BUILD_TARGET" != steamlink ] || sudo apt install -y libc6:i386 libstdc++6:i386'
- sh : '[ "$BUILD_TARGET" != steamlink ] || git clone --depth=1 https://github.com/ValveSoftware/steamlink-sdk.git $HOME/steamlink-sdk'
2023-07-15 06:20:26 +00:00
- sh : '[ "$BUILD_TARGET" != linux ] || sudo add-apt-repository ppa:beineri/opt-qt-5.15.4-focal || true'
2023-12-14 00:26:00 +00:00
- sh : '[ "$BUILD_TARGET" != linux ] || wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -'
2024-04-06 17:44:50 +00:00
- sh : '[ "$BUILD_TARGET" != linux ] || sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.3.280-focal.list https://packages.lunarg.com/vulkan/1.3.280/lunarg-vulkan-1.3.280-focal.list'
2021-05-02 19:42:55 +00:00
- sh : '[ "$BUILD_TARGET" != linux ] || sudo apt update || true'
2023-12-14 00:26:00 +00:00
- sh : '[ "$BUILD_TARGET" != linux ] || sudo apt install -y qt515base qt515quickcontrols2 qt515svg qt515wayland python3-pip nasm libgbm-dev libdrm-dev libfreetype6-dev libasound2-dev libdbus-1-dev libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa-dev libglu1-mesa-dev libibus-1.0-dev libpulse-dev libudev-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxss-dev libxt-dev libxv-dev libxxf86vm-dev libxcb-dri3-dev libx11-xcb-dev wayland-protocols libopus-dev libvdpau-dev vulkan-sdk'
- sh : '[ "$BUILD_TARGET" != linux ] || sudo pip3 install meson'
2024-06-23 22:57:11 +00:00
- sh : 'if [[ "$BUILD_TARGET" = linux ]]; then export SDL2_REV=ab5740bde2ac593f5a6821ec2ac3800cdfcaf754 && git clone https://github.com/libsdl-org/SDL.git SDL2 && cd SDL2 && git checkout $SDL2_REV && ./configure --enable-video-kmsdrm && make -j$(nproc) && sudo make install && cd ..; fi'
2024-06-19 15:25:15 +00:00
- sh : 'if [[ "$BUILD_TARGET" = linux ]]; then export SDL2_TTF_VER=2.22.0 && wget https://github.com/libsdl-org/SDL_ttf/releases/download/release-$SDL2_TTF_VER/SDL2_ttf-$SDL2_TTF_VER.tar.gz && tar -xf SDL2_ttf-$SDL2_TTF_VER.tar.gz && cd SDL2_ttf-$SDL2_TTF_VER && ./configure && make -j$(nproc) && sudo make install && cd ..; fi'
2024-03-18 06:44:08 +00:00
- sh : 'if [[ "$BUILD_TARGET" = linux ]]; then export LIBVA_VER=2.21.0 && git clone --branch $LIBVA_VER --depth 1 https://github.com/intel/libva.git && cd libva && ./autogen.sh && ./configure --enable-x11 --enable-wayland && make -j$(nproc) && sudo make install && cd ..; fi'
2024-06-23 22:57:11 +00:00
- sh : 'if [[ "$BUILD_TARGET" = linux ]]; then export DAV1D_VER=1.4.3 && git clone --branch $DAV1D_VER --depth 1 https://code.videolan.org/videolan/dav1d.git && cd dav1d && meson setup build -Ddefault_library=static -Dbuildtype=release -Denable_tools=false -Denable_tests=false && ninja -C build && sudo ninja install -C build && sudo ldconfig && cd ..; fi'
2024-04-06 17:44:50 +00:00
- sh : 'if [[ "$BUILD_TARGET" = linux ]]; then export LIBPLACEBO_REV=7b29435072143ee8b7e131947e055d3780ae4e47 && git clone https://code.videolan.org/videolan/libplacebo.git && cd libplacebo && git checkout $LIBPLACEBO_REV && git apply ../app/deploy/linux/appimage/*.patch && git submodule update --init --recursive && meson setup build -Dvulkan=enabled -Dopengl=disabled -Ddemos=false && ninja -C build && sudo ninja install -C build && sudo ldconfig && cd ..; fi'
2024-06-19 15:25:15 +00:00
- sh : 'if [[ "$BUILD_TARGET" = linux ]]; then export FFMPEG_VER=7.0.1 && wget https://ffmpeg.org/releases/ffmpeg-$FFMPEG_VER.tar.bz2 && tar -xf ffmpeg-$FFMPEG_VER.tar.bz2 && cd ffmpeg-$FFMPEG_VER && ./configure $FFMPEG_CONFIGURE_ARGS && make -j$(nproc) && sudo make install && sudo ldconfig && cd ..; fi'
2020-03-23 05:48:30 +00:00
- sh : 'if [[ "$BUILD_TARGET" = linux ]]; then mkdir $HOME/bin && wget -O $HOME/bin/linuxdeployqt https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage && chmod a+x $HOME/bin/linuxdeployqt; fi'
2020-03-23 02:34:50 +00:00
before_build :
2021-01-31 17:50:41 +00:00
- 'git -c submodule.libs.update=none submodule update --init --recursive'
- cmd : 'git submodule update --init --recursive'
- sh : '[ "$BUILD_TARGET" != macos ] || git submodule update --init --recursive'
2020-11-30 03:13:27 +00:00
- cmd : 'set OLDPATH=%PATH%'
2020-05-05 00:49:57 +00:00
- cmd : 'set /p VERSION=<app\version.txt'
2020-03-23 02:34:50 +00:00
- sh : 'export VERSION=`cat app/version.txt`'
build_script :
2023-07-15 00:55:00 +00:00
- cmd : 'set PATH=%OLDPATH%;%QTDIR%\msvc2019_64\bin'
2022-11-22 03:30:24 +00:00
- cmd : 'scripts\build-arch.bat Release'
2024-07-13 18:19:49 +00:00
- cmd : 'set PATH=%OLDPATH%;%QTDIR%\msvc2019_arm64\bin'
2023-09-10 19:48:19 +00:00
- cmd : 'scripts\build-arch.bat Release'
2020-11-30 03:13:27 +00:00
- cmd : 'scripts\generate-bundle.bat Release'
2021-05-16 17:45:34 +00:00
- sh : '[ "$BUILD_TARGET" != linux ] || source /opt/qt515/bin/qt515-env.sh'
2020-03-23 05:48:30 +00:00
- sh : '[ "$BUILD_TARGET" != linux ] || PATH=$PATH:$HOME/bin scripts/build-appimage.sh'
2024-07-13 18:53:43 +00:00
- sh : '[ "$BUILD_TARGET" != macos ] || PATH=$PATH:$HOME/$QTDIR/macos/bin scripts/generate-dmg.sh Release'
2020-03-23 02:34:50 +00:00
- sh : '[ "$BUILD_TARGET" != steamlink ] || STEAMLINK_SDK_PATH=$HOME/steamlink-sdk scripts/build-steamlink-app.sh'
after_build :
2020-11-30 03:22:16 +00:00
- cmd : 'appveyor PushArtifact build\installer-x64-Release\MoonlightPortable-x64-%VERSION%.zip -FileName MoonlightPortable-x64-r%APPVEYOR_BUILD_NUMBER%.zip'
- cmd : 'appveyor PushArtifact build\symbols-x64-Release\MoonlightDebuggingSymbols-x64-%VERSION%.zip -FileName MoonlightDebuggingSymbols-x64-r%APPVEYOR_BUILD_NUMBER%.zip'
2023-09-10 19:48:19 +00:00
- cmd : 'appveyor PushArtifact build\installer-arm64-Release\MoonlightPortable-arm64-%VERSION%.zip -FileName MoonlightPortable-arm64-r%APPVEYOR_BUILD_NUMBER%.zip'
- cmd : 'appveyor PushArtifact build\symbols-arm64-Release\MoonlightDebuggingSymbols-arm64-%VERSION%.zip -FileName MoonlightDebuggingSymbols-arm64-r%APPVEYOR_BUILD_NUMBER%.zip'
2020-03-23 02:34:50 +00:00
- sh : '[ "$BUILD_TARGET" != steamlink ] || appveyor PushArtifact build/installer-release/Moonlight-SteamLink-$VERSION.zip -FileName Moonlight-SteamLink-r$APPVEYOR_BUILD_NUMBER.zip'
- sh : '[ "$BUILD_TARGET" != macos ] || appveyor PushArtifact build/installer-Release/Moonlight-$VERSION.dmg -FileName Moonlight-r$APPVEYOR_BUILD_NUMBER.dmg'
2020-03-23 05:48:30 +00:00
- sh : '[ "$BUILD_TARGET" != linux ] || appveyor PushArtifact build/installer-release/Moonlight-$VERSION-x86_64.AppImage -FileName Moonlight-r$APPVEYOR_BUILD_NUMBER-x86_64.AppImage'
2020-03-23 02:34:50 +00:00
deploy : off