From 9082d44c401d80e0d9b6d003692c195b95f9f17d Mon Sep 17 00:00:00 2001 From: crueter Date: Thu, 21 Aug 2025 14:32:58 -0400 Subject: [PATCH] fix Signed-off-by: crueter --- CMakeModules/CPMUtil.cmake | 45 +++++++++++++++++++++++++++++++++++++- externals/CMakeLists.txt | 4 ++-- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/CMakeModules/CPMUtil.cmake b/CMakeModules/CPMUtil.cmake index 21e01ba8cf..bbdcaea3b8 100644 --- a/CMakeModules/CPMUtil.cmake +++ b/CMakeModules/CPMUtil.cmake @@ -336,30 +336,73 @@ function(AddCIPackage) set(ARTIFACT_PACKAGE ${PKG_ARGS_PACKAGE}) if ((MSVC AND ARCHITECTURE_x86_64) OR ARTIFACT_FORCE_DOWNLOAD AND NOT "windows-amd64" IN_LIST DISABLED_PLATFORMS) + # kinda hacky + if(MSVC AND ARCHITECTURE_x86_64) + set(ARTIFACT_FORCE_DOWNLOAD OFF) + else() + set(ARTIFACT_FORCE_DOWNLOAD ON) + endif() + add_ci_package(windows-amd64) endif() if ((MSVC AND ARCHITECTURE_arm64) OR ARTIFACT_FORCE_DOWNLOAD AND NOT "windows-arm64" IN_LIST DISABLED_PLATFORMS) + if(MSVC AND ARCHITECTURE_arm64) + set(ARTIFACT_FORCE_DOWNLOAD OFF) + else() + set(ARTIFACT_FORCE_DOWNLOAD ON) + endif() + add_ci_package(windows-arm64) endif() if (ANDROID OR ARTIFACT_FORCE_DOWNLOAD AND NOT "android" IN_LIST DISABLED_PLATFORMS) + if(ANDROID) + set(ARTIFACT_FORCE_DOWNLOAD OFF) + else() + set(ARTIFACT_FORCE_DOWNLOAD ON) + endif() + add_ci_package(android) endif() if(PLATFORM_SUN OR ARTIFACT_FORCE_DOWNLOAD AND NOT "solaris" IN_LIST DISABLED_PLATFORMS) + if(PLATFORM_SUN) + set(ARTIFACT_FORCE_DOWNLOAD OFF) + else() + set(ARTIFACT_FORCE_DOWNLOAD ON) + endif() + add_ci_package(solaris) endif() if(PLATFORM_FREEBSD OR ARTIFACT_FORCE_DOWNLOAD AND NOT "freebsd" IN_LIST DISABLED_PLATFORMS) + if(PLATFORM_FREEBSD) + set(ARTIFACT_FORCE_DOWNLOAD OFF) + else() + set(ARTIFACT_FORCE_DOWNLOAD ON) + endif() + add_ci_package(freebsd) endif() if((PLATFORM_LINUX AND ARCHITECTURE_x86_64) OR ARTIFACT_FORCE_DOWNLOAD AND NOT "linux" IN_LIST DISABLED_PLATFORMS) + if(PLATFORM_LINUX AND ARCHITECTURE_x86_64) + set(ARTIFACT_FORCE_DOWNLOAD OFF) + else() + set(ARTIFACT_FORCE_DOWNLOAD ON) + endif() + add_ci_package(linux) endif() - if((PLATFORM_LINUX AND ARCHITECTURE_arm64) OR ARTIFACT_FORCE_DOWNLOAD AND NOT "linux" IN_LIST DISABLED_PLATFORMS) + if((PLATFORM_LINUX AND ARCHITECTURE_arm64) OR ARTIFACT_FORCE_DOWNLOAD AND NOT "linux-aarch64" IN_LIST DISABLED_PLATFORMS) + if(PLATFORM_LINUX AND ARCHITECTURE_arm64) + set(ARTIFACT_FORCE_DOWNLOAD OFF) + else() + set(ARTIFACT_FORCE_DOWNLOAD ON) + endif() + add_ci_package(linux-aarch64) endif() diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 2269989822..a1b48ac3b2 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -95,7 +95,7 @@ if (ENABLE_LIBUSB AND NOT TARGET libusb::usb) endif() # SDL2 -if (YUZU_USE_EXTERNAL_SDL2) +if (YUZU_USE_EXTERNAL_SDL2 OR FORCE_DOWNLOAD_SDL2) if (NOT WIN32) # Yuzu itself needs: Atomic Audio Events Joystick Haptic Sensor Threads Timers # Since 2.0.18 Atomic+Threads required for HIDAPI/libusb (see https://github.com/libsdl-org/SDL/issues/5095) @@ -133,7 +133,7 @@ if (YUZU_USE_EXTERNAL_SDL2) SHA ${SDL_HASH} HASH ${SDL_SHA512SUM} KEY ${YUZU_SYSTEM_PROFILE} - BUNDLED_PACKAGE ${YUZU_USE_EXTERNAL_SDL2} + BUNDLED_PACKAGE ON ) endif()