diff --git a/.ci/scripts/clang/docker.sh b/.ci/scripts/clang/docker.sh index 7b5c6ec4df..57fbb97544 100755 --- a/.ci/scripts/clang/docker.sh +++ b/.ci/scripts/clang/docker.sh @@ -1,19 +1,22 @@ #!/bin/bash -ex # SPDX-FileCopyrightText: 2021 yuzu Emulator Project +# SPDX-FileCopyrightText: 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later # Exit on error, rather than continuing with the rest of the script. set -e -ccache -s +ccache -sv mkdir build || true && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ + -DSUYU_USE_PRECOMPILED_HEADERS=OFF \ + -DDYNARMIC_USE_PRECOMPILED_HEADERS=OFF \ -DCMAKE_CXX_FLAGS="-march=x86-64-v2" \ - -DCMAKE_CXX_COMPILER=/usr/lib/ccache/clang++ \ - -DCMAKE_C_COMPILER=/usr/lib/ccache/clang \ + -DCMAKE_CXX_COMPILER=/usr/bin/clang++ \ + -DCMAKE_C_COMPILER=/usr/bin/clang \ -DCMAKE_INSTALL_PREFIX="/usr" \ -DDISPLAY_VERSION=$1 \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ @@ -22,11 +25,12 @@ cmake .. \ -DSUYU_CRASH_DUMPS=ON \ -DSUYU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \ -DSUYU_USE_BUNDLED_FFMPEG=ON \ + -DSUYU_USE_FASTER_LD=ON \ -GNinja ninja -ccache -s +ccache -sv ctest -VV -C Release diff --git a/.ci/scripts/linux/docker.sh b/.ci/scripts/linux/docker.sh index b6b8efeea4..82432bd835 100755 --- a/.ci/scripts/linux/docker.sh +++ b/.ci/scripts/linux/docker.sh @@ -6,7 +6,7 @@ # Exit on error, rather than continuing with the rest of the script. set -e -ccache -s +ccache -sv mkdir build || true && cd build cmake .. \ @@ -15,8 +15,8 @@ cmake .. \ -DSUYU_USE_PRECOMPILED_HEADERS=OFF \ -DDYNARMIC_USE_PRECOMPILED_HEADERS=OFF \ -DCMAKE_CXX_FLAGS="-march=x86-64-v2" \ - -DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ \ - -DCMAKE_C_COMPILER=/usr/lib/ccache/gcc \ + -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ \ + -DCMAKE_C_COMPILER=/usr/local/bin/gcc \ -DCMAKE_INSTALL_PREFIX="/usr" \ -DDISPLAY_VERSION=$1 \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF \ @@ -24,14 +24,14 @@ cmake .. \ -DUSE_DISCORD_PRESENCE=ON \ -DSUYU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \ -DSUYU_USE_BUNDLED_FFMPEG=ON \ - -DSUYU_ENABLE_LTO=ON \ + -DSUYU_ENABLE_LTO=OFF \ -DSUYU_CRASH_DUMPS=ON \ -DSUYU_USE_FASTER_LD=ON \ -GNinja ninja -ccache -s +ccache -sv ctest -VV -C Release diff --git a/.forgejo/workflows/verify.yml b/.forgejo/workflows/verify.yml index d250c136b7..1d17c43a2b 100644 --- a/.forgejo/workflows/verify.yml +++ b/.forgejo/workflows/verify.yml @@ -33,7 +33,6 @@ on: env: PR_NUMBER: pr${{ github.event.number }} - CCACHE_DIR: '.ccache' jobs: format: @@ -77,13 +76,13 @@ jobs: uses: https://code.forgejo.org/actions/cache@v3 id: ccache-restore with: - path: .ccache + path: ~/.ccache key: ${{ runner.os }}-${{ matrix.type }}-${{ github.sha }} restore-keys: | ${{ runner.os }}-${{ matrix.type }}- - name: Create ccache directory if: steps.ccache-restore.outputs.cache-hit != 'true' - run: mkdir -p .ccache + run: mkdir -p ~/.ccache - name: Build run: ./.ci/scripts/${{ matrix.type }}/docker.sh env: diff --git a/CMakeLists.txt b/CMakeLists.txt index 6fec995c6d..42e8615e57 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,7 +132,7 @@ if (SUYU_USE_BUNDLED_VCPKG) set(VCPKG_DOWNLOADS_PATH ${PROJECT_SOURCE_DIR}/externals/vcpkg/downloads) set(NASM_VERSION "2.16.01") set(NASM_DESTINATION_PATH ${VCPKG_DOWNLOADS_PATH}/nasm-${NASM_VERSION}-win64.zip) - set(NASM_DOWNLOAD_URL "https://gitlab.com/suyu-emu/ext-windows-bin/raw/master/nasm/nasm-${NASM_VERSION}-win64.zip") + set(NASM_DOWNLOAD_URL "https://git.suyu.dev/suyu/ext-windows-bin/raw/branch/master/nasm/nasm-${NASM_VERSION}-win64.zip") if (NOT EXISTS ${NASM_DESTINATION_PATH}) file(DOWNLOAD ${NASM_DOWNLOAD_URL} ${NASM_DESTINATION_PATH} SHOW_PROGRESS STATUS NASM_STATUS) @@ -374,8 +374,6 @@ if(ENABLE_QT6 AND Qt6_LOCATION) list(APPEND CMAKE_PREFIX_PATH "${Qt6_LOCATION}") endif() -# QT6 searches for Vulkan::Headers, too, so we have to define it before QT6 has a chance to do it. -add_subdirectory(externals) function(set_suyu_qt_components) # Best practice is to ask for all components at once, so they are from the same version @@ -632,7 +630,7 @@ if (NOT CLANG_FORMAT) message(STATUS "Clang format not found! Downloading...") set(CLANG_FORMAT "${PROJECT_BINARY_DIR}/externals/clang-format${CLANG_FORMAT_POSTFIX}.exe") file(DOWNLOAD - https://gitlab.com/suyu-emu/ext-windows-bin/raw/master/clang-format${CLANG_FORMAT_POSTFIX}.exe + https://git.suyu.dev/suyu/ext-windows-bin/raw/branch/master/clang-format${CLANG_FORMAT_POSTFIX}.exe "${CLANG_FORMAT}" SHOW_PROGRESS STATUS DOWNLOAD_SUCCESS) if (NOT DOWNLOAD_SUCCESS EQUAL 0) @@ -712,6 +710,7 @@ if (SUYU_USE_FASTER_LD AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") endif() endif() +add_subdirectory(externals) add_subdirectory(src) # Set suyu project or suyu-cmd project as default StartUp Project in Visual Studio depending on whether QT is enabled or not diff --git a/CMakeModules/DownloadExternals.cmake b/CMakeModules/DownloadExternals.cmake index 2498773e61..858bce8771 100644 --- a/CMakeModules/DownloadExternals.cmake +++ b/CMakeModules/DownloadExternals.cmake @@ -7,21 +7,21 @@ # prefix_var: name of a variable which will be set with the path to the extracted contents function(download_bundled_external remote_path lib_name prefix_var) -set(package_base_url "https://git.suyu.dev/suyu") +set(package_base_url "https://git.suyu.dev/suyu/") set(package_repo "no_platform") set(package_extension "no_platform") set(package_head "?ref_type=heads") if (WIN32) - set(package_repo "ext-windows-bin/-/raw/master/") + set(package_repo "ext-windows-bin/raw/branch/master/") set(package_extension ".7z") elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - set(package_repo "ext-linux-bin/-/raw/main/") + set(package_repo "ext-linux-bin/raw/branch/main/") set(package_extension ".tar.xz") # elseif (APPLE) # set(package_repo "ext-osx-bin/-/raw/main/") # set(package_extension ".dmg") elseif (ANDROID) - set(package_repo "ext-android-bin/-/raw/main/") + set(package_repo "ext-android-bin/raw/branch/main/") set(package_extension ".tar.xz") else() message(FATAL_ERROR "No package available for this platform")