aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrueter <crueter@eden-emu.dev>2026-09-01 06:40:52 +0200
committercrueter <crueter@eden-emu.dev>2026-09-01 06:40:52 +0200
commite53e76168c93306c605efc0e5ec8f441858d11a6 (patch)
treee654e24a8863f4a1a774ea8422b5b11b764c94f5
parentcb9ec1dc1a3adac3d5774f7b24ec83a0168cdbe0 (diff)
[externals] Update CI packages to new format (#4341)
Qt hasn't been updated to the new format yet, will do so later. Signed-off-by: crueter <crueter@eden-emu.dev> - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4341 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Lizzie and Samuel <lizzie@eden-emu.dev>
-rw-r--r--CMakeModules/CPMUtil.cmake119
-rw-r--r--cpmfile.json19
-rw-r--r--externals/CMakeLists.txt3
-rw-r--r--externals/ffmpeg/CMakeLists.txt2
4 files changed, 90 insertions, 53 deletions
diff --git a/CMakeModules/CPMUtil.cmake b/CMakeModules/CPMUtil.cmake
index c9ad5f1e2f..a628e3fc89 100644
--- a/CMakeModules/CPMUtil.cmake
+++ b/CMakeModules/CPMUtil.cmake
@@ -552,7 +552,6 @@ macro(parse_object object)
get_json_element("${object}" repo repo)
get_json_element("${object}" ci ci OFF)
get_json_element("${object}" version version)
- get_json_element("${object}" min_version min_version)
get_json_element("${object}" git_host git_host "github.com")
if (NOT version)
@@ -571,8 +570,8 @@ macro(parse_object object)
set(disabled_platforms "")
endif()
else()
- # TODO: correct hash if missing
get_json_element("${object}" hash hash)
+ get_json_element("${object}" min_version min_version)
get_json_element("${object}" url url)
get_json_element("${object}" artifact artifact)
get_json_element("${object}" source_subdir source_subdir)
@@ -945,8 +944,8 @@ function(AddCIPackage)
REPO
PACKAGE
EXTENSION
- MIN_VERSION
- GIT_HOST)
+ GIT_HOST
+ PKGNAME)
set(multiValueArgs DISABLED_PLATFORMS)
@@ -996,43 +995,43 @@ function(AddCIPackage)
set(ARTIFACT_REPO ${PKG_ARGS_REPO})
set(ARTIFACT_PACKAGE ${PKG_ARGS_PACKAGE})
- # TODO: Use amd64/aarch64 naming for everything.
- # Also drop macos universal
-
- if (MSVC)
- set(platname windows)
- elseif(MINGW)
- set(platname mingw)
- elseif(ANDROID)
- set(platname android)
- elseif(LINUX)
- set(platname linux)
- elseif(IOS)
- set(platname ios)
- elseif(APPLE)
- set(platname macos)
+ # plat/archname
+ if (DEFINED PKG_ARGS_PKGNAME)
+ set(pkgname ${PKG_ARGS_PKGNAME})
else()
- cpm_utils_message(WARNING
- "Unsupported platform ${CMAKE_SYSTEM_NAME} for CI packages")
- endif()
+ if (MSVC)
+ set(platname windows)
+ elseif(MINGW)
+ set(platname mingw)
+ elseif(ANDROID)
+ set(platname android)
+ elseif(LINUX)
+ set(platname linux)
+ elseif(IOS)
+ set(platname ios)
+ elseif(APPLE)
+ set(platname macos)
+ else()
+ cpm_utils_message(WARNING
+ "Unsupported platform ${CMAKE_SYSTEM_NAME} for CI packages")
+ endif()
- if (APPLE AND NOT IOS)
- set(archname universal)
- elseif((WIN32 OR LINUX) AND CPMUTIL_AMD64)
- set(archname amd64)
- elseif(WIN32 AND CPMUTIL_ARM64)
- set(archname arm64)
- elseif((IOS OR LINUX OR ANDROID) AND CPMUTIL_ARM64)
- set(archname aarch64)
- elseif(ANDROID AND CPMUTIL_AMD64)
- set(archname x86_64)
- else()
- cpm_utils_message(WARNING
- "Unsupported platform/arch combo for CI packages")
- endif()
+ if (CPMUTIL_AMD64)
+ set(archname amd64)
+ elseif(CPMUTIL_ARM64)
+ set(archname aarch64)
+ elseif(CPMUTIL_RISCV64)
+ set(archname riscv64)
+ endif()
- if (DEFINED platname AND DEFINED archname)
- set(pkgname ${platname}-${archname})
+ if (APPLE AND NOT CPMUTIL_ARM64)
+ cpm_utils_message(WARNING
+ "Unsupported platform/arch combo for CI packages")
+ endif()
+
+ if (DEFINED platname AND DEFINED archname)
+ set(pkgname ${platname}-${archname})
+ endif()
endif()
if (DEFINED pkgname
@@ -1047,7 +1046,7 @@ function(AddCIPackage)
# download sha512sum file
# TODO: CI pkgs
set(sha512sum_url
- "https://${ARTIFACT_GIT_HOST}/${ARTIFACT_REPO}/releases/download/v${ARTIFACT_VERSION}/${ARTIFACT}.sha512sum")
+ "https://${ARTIFACT_GIT_HOST}/${ARTIFACT_REPO}/releases/download/${ARTIFACT_VERSION}/${ARTIFACT}.sha512sum")
set(sha512sum_file
"${CMAKE_CURRENT_BINARY_DIR}/.cpmutil_${ARTIFACT}_sha512sum")
@@ -1067,7 +1066,7 @@ function(AddCIPackage)
AddPackage(
NAME ${ARTIFACT_PACKAGE}
REPO ${ARTIFACT_REPO}
- VERSION "v${ARTIFACT_VERSION}"
+ VERSION ${ARTIFACT_VERSION}
ARTIFACT ${ARTIFACT}
CUSTOM_KEY "${ARTIFACT_VERSION}-${pkgname}"
HASH ${sha512sum_hash}
@@ -1093,6 +1092,43 @@ function(AddQt repo version)
message(FATAL_ERROR "[CPMUtil] AddQt: version is required")
endif()
+ # TODO: update Qt
+ if (MSVC)
+ set(platname windows)
+ elseif(MINGW)
+ set(platname mingw)
+ elseif(ANDROID)
+ set(platname android)
+ elseif(LINUX)
+ set(platname linux)
+ elseif(IOS)
+ set(platname ios)
+ elseif(APPLE)
+ set(platname macos)
+ else()
+ cpm_utils_message(WARNING
+ "Unsupported platform ${CMAKE_SYSTEM_NAME} for CI packages")
+ endif()
+
+ if (APPLE AND NOT IOS)
+ set(archname universal)
+ elseif((WIN32 OR LINUX) AND CPMUTIL_AMD64)
+ set(archname amd64)
+ elseif(WIN32 AND CPMUTIL_ARM64)
+ set(archname arm64)
+ elseif((IOS OR LINUX OR ANDROID) AND CPMUTIL_ARM64)
+ set(archname aarch64)
+ elseif(ANDROID AND CPMUTIL_AMD64)
+ set(archname x86_64)
+ else()
+ cpm_utils_message(WARNING
+ "Unsupported platform/arch combo for CI packages")
+ endif()
+
+ if (DEFINED platname AND DEFINED archname)
+ set(pkgname ${platname}-${archname})
+ endif()
+
AddCIPackage(
NAME qt
PACKAGE Qt6
@@ -1100,7 +1136,8 @@ function(AddQt repo version)
REPO ${repo}
DISABLED_PLATFORMS
android-x86_64 android-aarch64
- MODULE_PATH)
+ MODULE_PATH
+ PKGNAME ${pkgname})
find_package(Qt6 REQUIRED PATHS ${Qt6_SOURCE_DIR} NO_DEFAULT_PATH)
diff --git a/cpmfile.json b/cpmfile.json
index ce6275fb99..c0d879f838 100644
--- a/cpmfile.json
+++ b/cpmfile.json
@@ -1,4 +1,12 @@
{
+ "": {
+ "ci": true,
+ "hash": "9f50d993c39529e022ad456163de91ac5934e16faf8fc348f305355fc0a643c534f87ded707e11bd03bcbc0a1760bd20852b6533a67ac0558a078385181cb184",
+ "name": "SDL3",
+ "package": "SDL3",
+ "repo": "crueter-ci/SDL3",
+ "version": "3.4.14-1788231389-147a8ee32d"
+ },
"biscuit": {
"hash": "1229f345b014f7ca544dedb4edb3311e41ba736f9aa9a67f88b5f26f3c983288c6bb6cdedcfb0b8a02c63088a37e6a0d7ba97d9c2a4d721b213916327cffe28a",
"min_version": "0.9.1",
@@ -79,11 +87,10 @@
},
"ffmpeg-ci": {
"ci": true,
- "min_version": "4.1",
"name": "ffmpeg",
"package": "FFmpeg",
"repo": "crueter-ci/FFmpeg",
- "version": "8.0.1-c7b5f1537d"
+ "version": "9.0.1-1788120736-bf1b838f2a"
},
"fmt": {
"hash": "f0da82c545b01692e9fd30fdfb613dbb8dd9716983dcd0ff19ac2a8d36f74beb5540ef38072fdecc1e34191b3682a8542ecbf3a61ef287dbba0a2679d4e023f2",
@@ -197,11 +204,10 @@
},
"openssl-ci": {
"ci": true,
- "min_version": "3.0.0",
"name": "openssl",
"package": "OpenSSL",
"repo": "crueter-ci/OpenSSL",
- "version": "4.0.0-11b7b6ea3b"
+ "version": "4.0.1-1788234794-b64f68a94e"
},
"openssl-cmake": {
"bundled": true,
@@ -255,11 +261,10 @@
},
"sdl3-ci": {
"ci": true,
- "min_version": "3.2.10",
"name": "SDL3",
"package": "SDL3",
"repo": "crueter-ci/SDL3",
- "version": "3.4.8-d57c3b685c"
+ "version": "3.4.14-1788231389-147a8ee32d"
},
"simpleini": {
"find_args": "MODULE",
@@ -282,7 +287,7 @@
"name": "sirit",
"package": "sirit",
"repo": "eden-emulator/sirit",
- "version": "1.0.5"
+ "version": "v1.0.7"
},
"spirv-headers": {
"hash": "d624371dd455c66a300344c89812598ffe11b5eedba555779f789e85c29dc67317741858c60e0744a1e6755cc0d2759b8659f0674f4cc31479c4cb6fc25ed23b",
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index e89a766106..6e324ce9f6 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -161,9 +161,6 @@ if (NOT ANDROID)
AddJsonPackage(sdl3)
else()
message(STATUS "Using bundled SDL3")
- if (FREEBSD)
- set(BUILD_SHARED_LIBS ON)
- endif()
AddJsonPackage(sdl3-ci)
endif()
diff --git a/externals/ffmpeg/CMakeLists.txt b/externals/ffmpeg/CMakeLists.txt
index 6e3f675f2b..f1bf099c10 100644
--- a/externals/ffmpeg/CMakeLists.txt
+++ b/externals/ffmpeg/CMakeLists.txt
@@ -4,8 +4,6 @@
# SPDX-FileCopyrightText: 2021 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
-# TODO(crueter, MaranBr): Externals FFmpeg 8.0
-
set(FFmpeg_HWACCEL_LIBRARIES)
set(FFmpeg_HWACCEL_FLAGS)
set(FFmpeg_HWACCEL_INCLUDE_DIRS)