mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-04-22 04:24:44 +00:00
links fixed
This commit is contained in:
parent
c5c614fd64
commit
eecc965ef5
36 changed files with 537 additions and 585 deletions
438
.github/workflows/build.yml
vendored
Normal file
438
.github/workflows/build.yml
vendored
Normal file
|
@ -0,0 +1,438 @@
|
|||
# SPDX-FileCopyrightText: 2024 shadPS4 Emulator Project
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
name: Build and Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "*" ]
|
||||
pull_request:
|
||||
branches: [ "*" ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
|
||||
jobs:
|
||||
reuse:
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: fsfe/reuse-action@v4
|
||||
|
||||
clang-format:
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Install
|
||||
run: |
|
||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main'
|
||||
sudo apt update
|
||||
sudo apt install clang-format-17
|
||||
- name: Build
|
||||
env:
|
||||
COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
|
||||
run: ./.ci/clang-format.sh
|
||||
|
||||
get-info:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
date: ${{ steps.vars.outputs.date }}
|
||||
shorthash: ${{ steps.vars.outputs.shorthash }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Get date and git hash
|
||||
id: vars
|
||||
run: |
|
||||
echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
|
||||
echo "shorthash=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
|
||||
echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
|
||||
echo "shorthash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
windows-sdl:
|
||||
runs-on: windows-latest
|
||||
needs: get-info
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Cache CMake Configuration
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-sdl-ninja-cache-cmake-configuration
|
||||
with:
|
||||
path: |
|
||||
${{github.workspace}}/build
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-
|
||||
|
||||
- name: Cache CMake Build
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-sdl-cache-cmake-build
|
||||
with:
|
||||
append-timestamp: false
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
|
||||
- name: Setup VS Environment
|
||||
uses: ilammy/msvc-dev-cmd@v1.13.0
|
||||
with:
|
||||
arch: amd64
|
||||
|
||||
- name: Configure CMake
|
||||
run: cmake --fresh -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel
|
||||
|
||||
- name: Upload Windows SDL artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-win64-sdl-${{ needs.get-info.outputs.date }}-${{ needs.get-info.outputs.shorthash }}
|
||||
path: ${{github.workspace}}/build/shadPS4.exe
|
||||
|
||||
windows-qt:
|
||||
runs-on: windows-latest
|
||||
needs: get-info
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup Qt
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
version: 6.7.2
|
||||
host: windows
|
||||
target: desktop
|
||||
arch: win64_msvc2019_64
|
||||
archives: qtbase qttools
|
||||
|
||||
- name: Cache CMake Configuration
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-qt-ninja-cache-cmake-configuration
|
||||
with:
|
||||
path: |
|
||||
${{github.workspace}}/build
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-
|
||||
|
||||
- name: Cache CMake Build
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-qt-cache-cmake-build
|
||||
with:
|
||||
append-timestamp: false
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
|
||||
- name: Setup VS Environment
|
||||
uses: ilammy/msvc-dev-cmd@v1.13.0
|
||||
with:
|
||||
arch: amd64
|
||||
|
||||
- name: Configure CMake
|
||||
run: cmake --fresh -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_QT_GUI=ON -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel
|
||||
|
||||
- name: Deploy and Package
|
||||
run: |
|
||||
mkdir upload
|
||||
move build/shadPS4.exe upload
|
||||
windeployqt --no-compiler-runtime --no-system-d3d-compiler --no-system-dxc-compiler --dir upload upload/shadPS4.exe
|
||||
Compress-Archive -Path upload/* -DestinationPath shadps4-win64-qt-${{ needs.get-info.outputs.date }}-${{ needs.get-info.outputs.shorthash }}.zip
|
||||
|
||||
- name: Upload Windows Qt artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-win64-qt-${{ needs.get-info.outputs.date }}-${{ needs.get-info.outputs.shorthash }}
|
||||
path: upload/
|
||||
|
||||
macos-sdl:
|
||||
runs-on: macos-latest
|
||||
needs: get-info
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup latest Xcode
|
||||
uses: maxim-lobanov/setup-xcode@v1
|
||||
with:
|
||||
xcode-version: latest
|
||||
|
||||
- name: Install MoltenVK
|
||||
run: |
|
||||
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
arch -x86_64 /usr/local/bin/brew install molten-vk
|
||||
|
||||
- name: Cache CMake Configuration
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-sdl-cache-cmake-configuration
|
||||
with:
|
||||
path: |
|
||||
${{github.workspace}}/build
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-
|
||||
|
||||
- name: Cache CMake Build
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
env:
|
||||
cache-name: ${{runner.os}}-sdl-cache-cmake-build
|
||||
with:
|
||||
append-timestamp: false
|
||||
create-symlink: true
|
||||
key: ${{env.cache-name}}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
variant: sccache
|
||||
|
||||
- name: Configure CMake
|
||||
run: cmake --fresh -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel $(sysctl -n hw.ncpu)
|
||||
|
||||
- name: Package and Upload macOS SDL artifact
|
||||
run: |
|
||||
mkdir upload
|
||||
mv ${{github.workspace}}/build/shadps4 upload
|
||||
cp $(arch -x86_64 /usr/local/bin/brew --prefix)/opt/molten-vk/lib/libMoltenVK.dylib upload
|
||||
tar cf shadps4-macos-sdl.tar.gz -C upload .
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-macos-sdl-${{ needs.get-info.outputs.date }}-${{ needs.get-info.outputs.shorthash }}
|
||||
path: shadps4-macos-sdl.tar.gz
|
||||
|
||||
macos-qt:
|
||||
runs-on: macos-latest
|
||||
needs: get-info
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup latest Xcode
|
||||
uses: maxim-lobanov/setup-xcode@v1
|
||||
with:
|
||||
xcode-version: latest
|
||||
|
||||
- name: Install MoltenVK and Setup Qt
|
||||
run: |
|
||||
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
arch -x86_64 /usr/local/bin/brew install molten-vk
|
||||
- uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
version: 6.7.2
|
||||
host: mac
|
||||
target: desktop
|
||||
arch: clang_64
|
||||
archives: qtbase qttools
|
||||
|
||||
- name: Cache CMake Configuration
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-qt-cache-cmake-configuration
|
||||
with:
|
||||
path: |
|
||||
${{github.workspace}}/build
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-
|
||||
|
||||
- name: Cache CMake Build
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
env:
|
||||
cache-name: ${{runner.os}}-qt-cache-cmake-build
|
||||
with:
|
||||
append-timestamp: false
|
||||
create-symlink: true
|
||||
key: ${{env.cache-name}}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
variant: sccache
|
||||
|
||||
- name: Configure CMake
|
||||
run: cmake --fresh -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_OSX_ARCHITECTURES=x86_64 -DENABLE_QT_GUI=ON -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel $(sysctl -n hw.ncpu)
|
||||
|
||||
- name: Package and Upload macOS Qt artifact
|
||||
run: |
|
||||
mkdir upload
|
||||
mv ${{github.workspace}}/build/shadps4.app upload
|
||||
macdeployqt upload/shadps4.app
|
||||
tar cf shadps4-macos-qt.tar.gz -C upload .
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-macos-qt-${{ needs.get-info.outputs.date }}-${{ needs.get-info.outputs.shorthash }}
|
||||
path: shadps4-macos-qt.tar.gz
|
||||
|
||||
linux-sdl:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: get-info
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install dependencies
|
||||
run: sudo apt-get update && sudo apt install -y libx11-dev libxext-dev libwayland-dev libfuse2 clang build-essential
|
||||
|
||||
- name: Cache CMake Configuration
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-sdl-cache-cmake-configuration
|
||||
with:
|
||||
path: |
|
||||
${{github.workspace}}/build
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-
|
||||
|
||||
- name: Cache CMake Build
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-sdl-cache-cmake-build
|
||||
with:
|
||||
append-timestamp: false
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
|
||||
- name: Configure CMake
|
||||
run: cmake --fresh -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel
|
||||
|
||||
- name: Package and Upload Linux(ubuntu64) SDL artifact
|
||||
run: |
|
||||
ls -la ${{ github.workspace }}/build/shadps4
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-ubuntu64-${{ needs.get-info.outputs.date }}-${{ needs.get-info.outputs.shorthash }}
|
||||
path: ${{ github.workspace }}/build/shadps4
|
||||
|
||||
- name: Run AppImage packaging script
|
||||
run: ./.github/linux-appimage-sdl.sh
|
||||
|
||||
- name: Package and Upload Linux SDL artifact
|
||||
run: |
|
||||
tar cf shadps4-linux-sdl.tar.gz -C ${{github.workspace}}/build shadps4
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-linux-sdl-${{ needs.get-info.outputs.date }}-${{ needs.get-info.outputs.shorthash }}
|
||||
path: Shadps4-sdl.AppImage
|
||||
|
||||
linux-qt:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: get-info
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install dependencies
|
||||
run: sudo apt-get update && sudo apt install -y libx11-dev libxext-dev libwayland-dev libfuse2 clang build-essential qt6-base-dev qt6-tools-dev
|
||||
|
||||
- name: Cache CMake Configuration
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-qt-cache-cmake-configuration
|
||||
with:
|
||||
path: |
|
||||
${{github.workspace}}/build
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-
|
||||
|
||||
- name: Cache CMake Build
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-qt-cache-cmake-build
|
||||
with:
|
||||
append-timestamp: false
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
|
||||
- name: Configure CMake
|
||||
run: cmake --fresh -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DENABLE_QT_GUI=ON -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel
|
||||
|
||||
- name: Run AppImage packaging script
|
||||
run: ./.github/linux-appimage-qt.sh
|
||||
|
||||
- name: Package and Upload Linux Qt artifact
|
||||
run: |
|
||||
tar cf shadps4-linux-qt.tar.gz -C ${{github.workspace}}/build shadps4
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-linux-qt-${{ needs.get-info.outputs.date }}-${{ needs.get-info.outputs.shorthash }}
|
||||
path: Shadps4-qt.AppImage
|
||||
|
||||
pre-release:
|
||||
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
||||
needs: [get-info, windows-sdl, windows-qt, macos-sdl, macos-qt, linux-sdl, linux-qt]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Download all artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
path: ./artifacts
|
||||
|
||||
- name: Compress individual directories (without parent directory)
|
||||
run: |
|
||||
cd ./artifacts
|
||||
for dir in */; do
|
||||
if [ -d "$dir" ]; then
|
||||
dir_name=${dir%/}
|
||||
echo "Creating zip for $dir_name"
|
||||
(cd "$dir_name" && zip -r "../${dir_name}.zip" .)
|
||||
fi
|
||||
done
|
||||
|
||||
- name: Create Pre-Release on GitHub
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
token: ${{ secrets.SHADPS4_TOKEN_REPO }}
|
||||
name: "Pre-release-shadPS4-${{ needs.get-info.outputs.date }}-${{ needs.get-info.outputs.shorthash }}"
|
||||
tag: "Pre-release-shadPS4-${{ needs.get-info.outputs.date }}-${{ needs.get-info.outputs.shorthash }}"
|
||||
draft: false
|
||||
prerelease: true
|
||||
artifacts: |
|
||||
./artifacts/*.zip
|
||||
|
||||
- name: Delete old pre-releases and tags
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.SHADPS4_TOKEN_REPO }}
|
||||
run: |
|
||||
current_date="${{ needs.get-info.outputs.date }}"
|
||||
api_url="https://api.github.com/repos/${{ github.repository }}/releases"
|
||||
|
||||
# Get current pre-releases
|
||||
releases=$(curl -H "Authorization: token $GITHUB_TOKEN" "$api_url?per_page=100")
|
||||
|
||||
# Parse and delete old pre-releases
|
||||
echo "$releases" | jq -c '.[] | select(.prerelease == true)' | while read -r release; do
|
||||
release_date=$(echo "$release" | jq -r '.created_at' | cut -d'T' -f1)
|
||||
release_id=$(echo "$release" | jq -r '.id')
|
||||
release_tag=$(echo "$release" | jq -r '.tag_name')
|
||||
|
||||
# Compare dates
|
||||
if [[ "$release_date" < "$current_date" ]]; then
|
||||
echo "Deleting old pre-release: $release_id from $release_date with tag: $release_tag"
|
||||
# Delete the pre-release
|
||||
curl -X DELETE -H "Authorization: token $GITHUB_TOKEN" "$api_url/$release_id"
|
||||
# Delete the tag
|
||||
curl -X DELETE -H "Authorization: token $GITHUB_TOKEN" "https://api.github.com/repos/${{ github.repository }}/git/refs/tags/$release_tag"
|
||||
fi
|
||||
done
|
17
.github/workflows/ci.yml
vendored
17
.github/workflows/ci.yml
vendored
|
@ -1,17 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2021 yuzu Emulator Project
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
name: Reuse
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
tags: [ "*" ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
jobs:
|
||||
reuse:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: fsfe/reuse-action@v4
|
28
.github/workflows/format.yml
vendored
28
.github/workflows/format.yml
vendored
|
@ -1,28 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2024 shadPS4 Emulator Project
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
name: Clang Format
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "*" ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
clang-format:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Install
|
||||
run: |
|
||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main'
|
||||
sudo apt update
|
||||
sudo apt install clang-format-17
|
||||
- name: Build
|
||||
env:
|
||||
COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
|
||||
run: ./.ci/clang-format.sh
|
66
.github/workflows/linux-qt.yml
vendored
66
.github/workflows/linux-qt.yml
vendored
|
@ -1,66 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2024 shadPS4 Emulator Project
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
name: Linux-Qt
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install misc packages
|
||||
run: >
|
||||
sudo apt-get update && sudo apt install libx11-dev libxext-dev libwayland-dev libfuse2 clang build-essential qt6-base-dev qt6-tools-dev
|
||||
|
||||
- name: Cache CMake Configuration
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-qt-cache-cmake-configuration
|
||||
with:
|
||||
path: |
|
||||
${{github.workspace}}/build
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-
|
||||
|
||||
- name: Cache CMake Build
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-qt-cache-cmake-build
|
||||
with:
|
||||
append-timestamp: false
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
|
||||
- name: Configure CMake
|
||||
run: cmake --fresh -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DENABLE_QT_GUI=ON -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel
|
||||
|
||||
- name: Run AppImage packaging script
|
||||
run: ./.github/linux-appimage-qt.sh
|
||||
|
||||
- name: Get date and git hash
|
||||
id: vars
|
||||
run: |
|
||||
echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
|
||||
echo "shorthash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Upload executable
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-linux-qt-${{ steps.vars.outputs.date }}-${{ steps.vars.outputs.shorthash }}
|
||||
path: Shadps4-qt.AppImage
|
73
.github/workflows/linux.yml
vendored
73
.github/workflows/linux.yml
vendored
|
@ -1,73 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2024 shadPS4 Emulator Project
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
name: Linux
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install misc packages
|
||||
run: >
|
||||
sudo apt-get update && sudo apt install libx11-dev libxext-dev libwayland-dev libfuse2 clang build-essential
|
||||
|
||||
- name: Cache CMake Configuration
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-sdl-cache-cmake-configuration
|
||||
with:
|
||||
path: |
|
||||
${{github.workspace}}/build
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-
|
||||
|
||||
- name: Cache CMake Build
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-sdl-cache-cmake-build
|
||||
with:
|
||||
append-timestamp: false
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
|
||||
- name: Configure CMake
|
||||
run: cmake --fresh -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel
|
||||
|
||||
- name: Get date and git hash
|
||||
id: vars
|
||||
run: |
|
||||
echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
|
||||
echo "shorthash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Upload executable
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-ubuntu64-${{ steps.vars.outputs.date }}-${{ steps.vars.outputs.shorthash }}
|
||||
path: |
|
||||
${{github.workspace}}/build/shadps4
|
||||
|
||||
- name: Run AppImage packaging script
|
||||
run: ./.github/linux-appimage-sdl.sh
|
||||
|
||||
- name: Upload executable
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-sdl-appimage-${{ steps.vars.outputs.date }}-${{ steps.vars.outputs.shorthash }}
|
||||
path: Shadps4-sdl.AppImage
|
88
.github/workflows/macos-qt.yml
vendored
88
.github/workflows/macos-qt.yml
vendored
|
@ -1,88 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2024 shadPS4 Emulator Project
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
name: macOS-Qt
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup latest Xcode
|
||||
uses: maxim-lobanov/setup-xcode@v1
|
||||
with:
|
||||
xcode-version: latest
|
||||
|
||||
- name: Install MoltenVK
|
||||
run: |
|
||||
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
arch -x86_64 /usr/local/bin/brew install molten-vk
|
||||
|
||||
- name: Setup Qt
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
version: 6.7.2
|
||||
host: mac
|
||||
target: desktop
|
||||
arch: clang_64
|
||||
archives: qtbase qttools
|
||||
|
||||
- name: Cache CMake Configuration
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-qt-cache-cmake-configuration
|
||||
with:
|
||||
path: |
|
||||
${{github.workspace}}/build
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-
|
||||
|
||||
- name: Cache CMake Build
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
env:
|
||||
cache-name: ${{runner.os}}-qt-cache-cmake-build
|
||||
with:
|
||||
append-timestamp: false
|
||||
create-symlink: true
|
||||
key: ${{env.cache-name}}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
variant: sccache
|
||||
|
||||
- name: Configure CMake
|
||||
run: cmake --fresh -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_OSX_ARCHITECTURES=x86_64 -DENABLE_QT_GUI=ON -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel $(sysctl -n hw.ncpu)
|
||||
|
||||
- name: Package
|
||||
run: |
|
||||
mkdir upload
|
||||
mv ${{github.workspace}}/build/shadps4.app upload
|
||||
macdeployqt upload/shadps4.app
|
||||
tar cf shadps4-macos-qt.tar.gz -C upload .
|
||||
|
||||
- name: Get date and git hash
|
||||
id: vars
|
||||
run: |
|
||||
echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
|
||||
echo "shorthash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
|
||||
- name: Upload executable
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-macos-qt-${{ steps.vars.outputs.date }}-${{ steps.vars.outputs.shorthash }}
|
||||
path: shadps4-macos-qt.tar.gz
|
79
.github/workflows/macos.yml
vendored
79
.github/workflows/macos.yml
vendored
|
@ -1,79 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2024 shadPS4 Emulator Project
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
name: macOS
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup latest Xcode
|
||||
uses: maxim-lobanov/setup-xcode@v1
|
||||
with:
|
||||
xcode-version: latest
|
||||
|
||||
- name: Install MoltenVK
|
||||
run: |
|
||||
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
arch -x86_64 /usr/local/bin/brew install molten-vk
|
||||
|
||||
- name: Cache CMake Configuration
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-sdl-cache-cmake-configuration
|
||||
with:
|
||||
path: |
|
||||
${{github.workspace}}/build
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-
|
||||
|
||||
- name: Cache CMake Build
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
env:
|
||||
cache-name: ${{runner.os}}-sdl-cache-cmake-build
|
||||
with:
|
||||
append-timestamp: false
|
||||
create-symlink: true
|
||||
key: ${{env.cache-name}}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
variant: sccache
|
||||
|
||||
- name: Configure CMake
|
||||
run: cmake --fresh -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel $(sysctl -n hw.ncpu)
|
||||
|
||||
- name: Package
|
||||
run: |
|
||||
mkdir upload
|
||||
mv ${{github.workspace}}/build/shadps4 upload
|
||||
cp $(arch -x86_64 /usr/local/bin/brew --prefix)/opt/molten-vk/lib/libMoltenVK.dylib upload
|
||||
install_name_tool -add_rpath "@loader_path" upload/shadps4
|
||||
tar cf shadps4-macos-sdl.tar.gz -C upload .
|
||||
|
||||
- name: Get date and git hash
|
||||
id: vars
|
||||
run: |
|
||||
echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
|
||||
echo "shorthash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Upload executable
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-macos-sdl-${{ steps.vars.outputs.date }}-${{ steps.vars.outputs.shorthash }}
|
||||
path: shadps4-macos-sdl.tar.gz
|
80
.github/workflows/windows-qt.yml
vendored
80
.github/workflows/windows-qt.yml
vendored
|
@ -1,80 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2024 shadPS4 Emulator Project
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
name: Windows-Qt
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup Qt
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
version: 6.7.2
|
||||
host: windows
|
||||
target: desktop
|
||||
arch: win64_msvc2019_64
|
||||
archives: qtbase qttools
|
||||
|
||||
- name: Cache CMake Configuration
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-qt-ninja-cache-cmake-configuration
|
||||
with:
|
||||
path: |
|
||||
${{github.workspace}}/build
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-
|
||||
|
||||
- name: Cache CMake Build
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-qt-cache-cmake-build
|
||||
with:
|
||||
append-timestamp: false
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
|
||||
- name: Setup VS Environment
|
||||
uses: ilammy/msvc-dev-cmd@v1.13.0
|
||||
with:
|
||||
arch: amd64
|
||||
|
||||
- name: Configure CMake
|
||||
run: cmake --fresh -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_QT_GUI=ON -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel
|
||||
|
||||
- name: Deploy
|
||||
run: |
|
||||
mkdir upload
|
||||
move build/shadPS4.exe upload
|
||||
windeployqt --no-compiler-runtime --no-system-d3d-compiler --no-system-dxc-compiler --dir upload upload/shadPS4.exe
|
||||
|
||||
- name: Get date and git hash
|
||||
id: vars
|
||||
shell: pwsh
|
||||
run: |
|
||||
echo "date=$(Get-Date -Format 'yyyy-MM-dd')" >> $env:GITHUB_OUTPUT
|
||||
echo "shorthash=$(git rev-parse --short HEAD)" >> $env:GITHUB_OUTPUT
|
||||
|
||||
- name: Upload executable
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-win64-qt-${{ steps.vars.outputs.date }}-${{ steps.vars.outputs.shorthash }}
|
||||
path: upload
|
65
.github/workflows/windows.yml
vendored
65
.github/workflows/windows.yml
vendored
|
@ -1,65 +0,0 @@
|
|||
# SPDX-FileCopyrightText: 2024 shadPS4 Emulator Project
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
name: Windows
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Cache CMake Configuration
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-sdl-ninja-cache-cmake-configuration
|
||||
with:
|
||||
path: |
|
||||
${{github.workspace}}/build
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-
|
||||
|
||||
- name: Cache CMake Build
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
env:
|
||||
cache-name: ${{ runner.os }}-sdl-cache-cmake-build
|
||||
with:
|
||||
append-timestamp: false
|
||||
key: ${{ env.cache-name }}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
|
||||
|
||||
- name: Setup VS Environment
|
||||
uses: ilammy/msvc-dev-cmd@v1.13.0
|
||||
with:
|
||||
arch: amd64
|
||||
|
||||
- name: Configure CMake
|
||||
run: cmake --fresh -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
|
||||
- name: Build
|
||||
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel
|
||||
|
||||
- name: Get date and git hash
|
||||
id: vars
|
||||
shell: pwsh
|
||||
run: |
|
||||
echo "date=$(Get-Date -Format 'yyyy-MM-dd')" >> $env:GITHUB_OUTPUT
|
||||
echo "shorthash=$(git rev-parse --short HEAD)" >> $env:GITHUB_OUTPUT
|
||||
|
||||
- name: Upload executable
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: shadps4-win64-sdl-${{ steps.vars.outputs.date }}-${{ steps.vars.outputs.shorthash }}
|
||||
path: |
|
||||
${{github.workspace}}/build/shadPS4.exe
|
|
@ -41,7 +41,7 @@ void CheckUpdate::CheckForUpdates(const bool showMessage) {
|
|||
QUrl url;
|
||||
|
||||
if (updateChannel == "unstable") {
|
||||
url = QUrl("https://api.github.com/repos/DanielSvoboda/shadPS4/releases?per_page=1");
|
||||
url = QUrl("https://api.github.com/repos/shadps4-emu/shadPS4/releases");
|
||||
} else if (updateChannel == "stable") {
|
||||
url = QUrl("https://api.github.com/repos/shadps4-emu/shadPS4/releases/latest");
|
||||
} else {
|
||||
|
@ -77,27 +77,61 @@ void CheckUpdate::CheckForUpdates(const bool showMessage) {
|
|||
QString latestVersion;
|
||||
QString latestRev;
|
||||
QString latestDate;
|
||||
QString platformString;
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
platformString = "win64-qt";
|
||||
#elif defined(Q_OS_LINUX)
|
||||
platformString = "linux-qt";
|
||||
#elif defined(Q_OS_MAC)
|
||||
platformString = "macos-qt";
|
||||
#endif
|
||||
|
||||
QJsonObject jsonObj;
|
||||
if (jsonDoc.isArray()) {
|
||||
if (updateChannel == "unstable") {
|
||||
QJsonArray jsonArray = jsonDoc.array();
|
||||
if (!jsonArray.isEmpty()) {
|
||||
jsonObj = jsonArray.first().toObject();
|
||||
for (const QJsonValue& value : jsonArray) {
|
||||
jsonObj = value.toObject();
|
||||
if (jsonObj.contains("prerelease") && jsonObj["prerelease"].toBool()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!jsonObj.isEmpty()) {
|
||||
latestVersion = jsonObj["tag_name"].toString();
|
||||
} else {
|
||||
QMessageBox::warning(this, tr("Error"), tr("No releases found."));
|
||||
QMessageBox::warning(this, tr("Error"), tr("No pre-releases found."));
|
||||
reply->deleteLater();
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
jsonObj = jsonDoc.object();
|
||||
if (jsonObj.contains("tag_name")) {
|
||||
latestVersion = jsonObj["tag_name"].toString();
|
||||
} else {
|
||||
QMessageBox::warning(this, tr("Error"), tr("Invalid release data."));
|
||||
reply->deleteLater();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (jsonObj.contains("tag_name")) {
|
||||
latestVersion = jsonObj["tag_name"].toString();
|
||||
latestRev = latestVersion.right(7);
|
||||
latestDate = jsonObj["published_at"].toString();
|
||||
} else {
|
||||
QMessageBox::warning(this, tr("Error"), tr("Invalid release data."));
|
||||
latestRev = latestVersion.right(7);
|
||||
latestDate = jsonObj["published_at"].toString();
|
||||
|
||||
QJsonArray assets = jsonObj["assets"].toArray();
|
||||
bool found = false;
|
||||
|
||||
for (const QJsonValue& assetValue : assets) {
|
||||
QJsonObject assetObj = assetValue.toObject();
|
||||
if (assetObj["name"].toString().contains(platformString)) {
|
||||
downloadUrl = assetObj["browser_download_url"].toString();
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
QMessageBox::warning(this, tr("Error"),
|
||||
tr("No download URL found for the specified asset."));
|
||||
reply->deleteLater();
|
||||
return;
|
||||
}
|
||||
|
@ -108,30 +142,6 @@ void CheckUpdate::CheckForUpdates(const bool showMessage) {
|
|||
QDateTime dateTime = QDateTime::fromString(latestDate, Qt::ISODate);
|
||||
latestDate = dateTime.isValid() ? dateTime.toString("yyyy-MM-dd HH:mm:ss") : "Unknown date";
|
||||
|
||||
QJsonArray assets = jsonObj["assets"].toArray();
|
||||
bool found = false;
|
||||
for (const QJsonValue& assetValue : assets) {
|
||||
QJsonObject assetObj = assetValue.toObject();
|
||||
|
||||
QString platformString;
|
||||
#ifdef Q_OS_WIN
|
||||
platformString = "win64-qt";
|
||||
#elif defined(Q_OS_LINUX)
|
||||
platformString = "linux-qt";
|
||||
#elif defined(Q_OS_MAC)
|
||||
platformString = "macos-qt";
|
||||
#endif
|
||||
if (assetObj["name"].toString().contains(platformString)) {
|
||||
downloadUrl = assetObj["browser_download_url"].toString();
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
QMessageBox::warning(this, tr("Error"),
|
||||
tr("No download URL found for the specified asset."));
|
||||
}
|
||||
|
||||
if (latestRev == currentRev) {
|
||||
if (showMessage) {
|
||||
QMessageBox::information(this, tr("Auto Updater"),
|
||||
|
@ -196,7 +206,7 @@ void CheckUpdate::setupUI(const QString& downloadUrl, const QString& latestDate,
|
|||
} else {
|
||||
QTextEdit* textField = new QTextEdit(this);
|
||||
textField->setReadOnly(true);
|
||||
textField->setFixedWidth(400);
|
||||
textField->setFixedWidth(500);
|
||||
textField->setFixedHeight(200);
|
||||
textField->setVisible(false);
|
||||
layout->addWidget(textField);
|
||||
|
@ -244,7 +254,7 @@ void CheckUpdate::requestChangelog(const QString& currentRev, const QString& lat
|
|||
const QString& downloadUrl, const QString& latestDate,
|
||||
const QString& currentDate) {
|
||||
QString compareUrlString =
|
||||
QString("https://api.github.com/repos/DanielSvoboda/shadPS4/compare/%1...%2")
|
||||
QString("https://api.github.com/repos/shadps4-emu/shadPS4/compare/%1...%2")
|
||||
.arg(currentRev)
|
||||
.arg(latestRev);
|
||||
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>لم يتم العثور على إصدارات.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>لم يتم العثور على أي إصدارات مسبقة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Ingen udgivelser fundet.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Ingen forhåndsudgivelser fundet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Keine Versionen gefunden.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Keine Vorabveröffentlichungen gefunden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Δεν βρέθηκαν εκδόσεις.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Δεν βρέθηκαν προ-κυκλοφορίες.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>No releases found.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>No pre-releases found.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>No se encontraron versiones.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>No se encontraron prelanzamientos.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>هیچ نسخه ای یافت نشد.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>هیچ پیش انتشاری یافت نشد.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Ei julkaisuja löytynyt.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Ennakkojulkaisuja ei löytynyt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Aucune version trouvée.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Aucune pré-version trouvée.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Nincs kiadás található.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Nem található előzetes kiadás.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Tidak ada rilis ditemukan.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Tidak ada pra-rilis yang ditemukan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Nessuna release trovata.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Nessuna anteprima trovata.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>リリースが見つかりません。</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>プレリリースは見つかりませんでした。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>No releases found.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>No pre-releases found.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Nerasta leidimų.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Išankstinių leidimų nerasta.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Ingen utgivelser funnet.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Fant ingen forhåndsutgivelser.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Geen releases gevonden.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Geen pre-releases gevonden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Nie znaleziono wydań.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Nie znaleziono wersji przedpremierowych.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Nenhum release encontrado.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Nenhuma pre-release encontrada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Nu s-au găsit versiuni.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Nu au fost găsite pre-lansări.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Нет доступных релизов.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Предварительных версий не найдено.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Nuk u gjetën asnjë lëshim.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Nuk u gjetën publikime paraprake.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Hiçbir sürüm bulunamadı.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Ön sürüm bulunamadı.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>Không tìm thấy bản phát hành nào.</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>Không tìm thấy bản phát hành trước.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>未找到任何发布。</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>未找到预发布版本。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
|
@ -1029,8 +1029,8 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="89"/>
|
||||
<source>No releases found.</source>
|
||||
<translation>未找到任何發行版本。</translation>
|
||||
<source>No pre-releases found.</source>
|
||||
<translation>未找到預發布版本。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../checkUpdate.cpp" line="102"/>
|
||||
|
|
Loading…
Add table
Reference in a new issue