From c1c68db66acd1fc93a1ea59e87d258959feffa78 Mon Sep 17 00:00:00 2001 From: crueter Date: Sun, 31 May 2026 21:37:13 -0400 Subject: [PATCH] Update CPMUtil Signed-off-by: crueter --- CMakeLists.txt | 4 ++-- CMakeModules/CPMUtil.cmake | 26 +++++++++++++++++++------- docs/CPMUtil/AddCIPackage.md | 1 + docs/CPMUtil/AddJsonPackage.md | 3 ++- tools/cpm/package/fetch.sh | 2 +- tools/cpm/package/util/interactive.sh | 2 +- 6 files changed, 26 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 757943ca64..a5716aa037 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -580,9 +580,9 @@ if (ENABLE_QT) if (YUZU_USE_BUNDLED_QT) # Qt 6.8+ is broken on macOS (??) if (APPLE) - AddQt(6.7.3) + AddQt(Eden-CI/Qt 6.7.3) else() - AddQt(6.9.3) + AddQt(Eden-CI/Qt 6.11.1) endif() else() message(STATUS "Using system Qt") diff --git a/CMakeModules/CPMUtil.cmake b/CMakeModules/CPMUtil.cmake index b98595ac2e..d077816721 100644 --- a/CMakeModules/CPMUtil.cmake +++ b/CMakeModules/CPMUtil.cmake @@ -3,7 +3,7 @@ set(CPM_SOURCE_CACHE "${PROJECT_SOURCE_DIR}/.cache/cpm" CACHE STRING "" FORCE) -if(MSVC OR ANDROID) +if(MSVC OR ANDROID OR IOS) set(BUNDLED_DEFAULT ON) else() set(BUNDLED_DEFAULT OFF) @@ -247,7 +247,9 @@ function(AddJsonPackage) set(multiValueArgs OPTIONS) - cmake_parse_arguments(JSON "" "${oneValueArgs}" "${multiValueArgs}" + set(options MODULE) + + cmake_parse_arguments(JSON "${options}" "${oneValueArgs}" "${multiValueArgs}" "${ARGN}") list(LENGTH ARGN argnLength) @@ -277,6 +279,10 @@ function(AddJsonPackage) parse_object(${object}) if(ci) + if (JSON_MODULE) + set(EXTRA_ARGS MODULE) + endif() + AddCIPackage( VERSION ${version} NAME ${name} @@ -284,8 +290,8 @@ function(AddJsonPackage) PACKAGE ${package} EXTENSION ${extension} MIN_VERSION ${min_version} - DISABLED_PLATFORMS ${disabled_platforms}) - + DISABLED_PLATFORMS ${disabled_platforms} + ${EXTRA_ARGS}) else() if (NOT DEFINED JSON_FORCE_BUNDLED_PACKAGE) set(JSON_FORCE_BUNDLED_PACKAGE OFF) @@ -690,8 +696,10 @@ function(AddCIPackage) set(pkgname linux-amd64) elseif(PLATFORM_LINUX AND ARCHITECTURE_arm64) set(pkgname linux-aarch64) - elseif(APPLE) + elseif(APPLE AND NOT IOS) set(pkgname macos-universal) + elseif(IOS AND ARCHITECTURE_arm64) + set(pkgname ios-aarch64) endif() if (DEFINED pkgname AND NOT "${pkgname}" IN_LIST DISABLED_PLATFORMS) @@ -724,7 +732,11 @@ function(AddCIPackage) endfunction() # Utility function for Qt -function(AddQt version) +function(AddQt repo version) + if (NOT DEFINED repo) + message(FATAL_ERROR "[CPMUtil] AddQt: repo is required") + endif() + if (NOT DEFINED version) message(FATAL_ERROR "[CPMUtil] AddQt: version is required") endif() @@ -734,7 +746,7 @@ function(AddQt version) PACKAGE Qt6 VERSION ${version} MIN_VERSION 6 - REPO crueter-ci/Qt + REPO ${repo} DISABLED_PLATFORMS android-x86_64 android-aarch64 freebsd-amd64 solaris-amd64 openbsd-amd64 diff --git a/docs/CPMUtil/AddCIPackage.md b/docs/CPMUtil/AddCIPackage.md index bc7c1ccfad..7319b514ff 100644 --- a/docs/CPMUtil/AddCIPackage.md +++ b/docs/CPMUtil/AddCIPackage.md @@ -18,3 +18,4 @@ - `linux-amd64` - `linux-aarch64` - `macos-universal` + - `ios-aarch64` diff --git a/docs/CPMUtil/AddJsonPackage.md b/docs/CPMUtil/AddJsonPackage.md index 464cd1731b..e655d794f5 100644 --- a/docs/CPMUtil/AddJsonPackage.md +++ b/docs/CPMUtil/AddJsonPackage.md @@ -61,7 +61,8 @@ In order: OpenSSL CI, Boost (tag + artifact), Opus (options + find_args), discor "version": "3.6.0", "min_version": "1.1.1", "disabled_platforms": [ - "macos-universal" + "macos-universal", + "ios-aarch64" ] }, "boost": { diff --git a/tools/cpm/package/fetch.sh b/tools/cpm/package/fetch.sh index b03a824146..54ea8c64c4 100755 --- a/tools/cpm/package/fetch.sh +++ b/tools/cpm/package/fetch.sh @@ -83,7 +83,7 @@ ci_package() { android-aarch64 android-x86_64 \ solaris-amd64 freebsd-amd64 openbsd-amd64 \ linux-amd64 linux-aarch64 \ - macos-universal; do + macos-universal ios-aarch64; do echo "-- * platform $platform" case $DISABLED in diff --git a/tools/cpm/package/util/interactive.sh b/tools/cpm/package/util/interactive.sh index 99db77e20d..07087e5d10 100755 --- a/tools/cpm/package/util/interactive.sh +++ b/tools/cpm/package/util/interactive.sh @@ -151,7 +151,7 @@ mingw-amd64 mingw-arm64 android-aarch64 android-x86_64 solaris-amd64 freebsd-amd64 openbsd-amd64 linux-amd64 linux-aarch64 -macos-universal" +macos-universal ios-aarch64" DISABLED_PLATFORMS="$reply" fi