mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-09-01 10:52:26 +00:00
[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>
This commit is contained in:
+102
-65
@@ -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,9 +995,104 @@ 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
|
||||
# plat/archname
|
||||
if (DEFINED PKG_ARGS_PKGNAME)
|
||||
set(pkgname ${PKG_ARGS_PKGNAME})
|
||||
else()
|
||||
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 (CPMUTIL_AMD64)
|
||||
set(archname amd64)
|
||||
elseif(CPMUTIL_ARM64)
|
||||
set(archname aarch64)
|
||||
elseif(CPMUTIL_RISCV64)
|
||||
set(archname riscv64)
|
||||
endif()
|
||||
|
||||
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
|
||||
AND NOT "${pkgname}" IN_LIST DISABLED_PLATFORMS)
|
||||
set(ARTIFACT
|
||||
"${ARTIFACT_NAME}-${pkgname}-${ARTIFACT_VERSION}.${ARTIFACT_EXT}")
|
||||
|
||||
if (PKG_ARGS_MODULE_PATH)
|
||||
set(EXTRA_ARGS MODULE_PATH)
|
||||
endif()
|
||||
|
||||
# download sha512sum file
|
||||
# TODO: CI pkgs
|
||||
set(sha512sum_url
|
||||
"https://${ARTIFACT_GIT_HOST}/${ARTIFACT_REPO}/releases/download/${ARTIFACT_VERSION}/${ARTIFACT}.sha512sum")
|
||||
set(sha512sum_file
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/.cpmutil_${ARTIFACT}_sha512sum")
|
||||
|
||||
file(DOWNLOAD "${sha512sum_url}" "${sha512sum_file}"
|
||||
STATUS sha512sum_status)
|
||||
list(GET sha512sum_status 0 sha512sum_error)
|
||||
|
||||
if(sha512sum_error)
|
||||
message(FATAL_ERROR "[CPMUtil] Failed to download sha512sum "
|
||||
"for ${ARTIFACT_NAME} from ${sha512sum_url}")
|
||||
endif()
|
||||
|
||||
file(READ "${sha512sum_file}" sha512sum_hash)
|
||||
string(STRIP "${sha512sum_hash}" sha512sum_hash)
|
||||
file(REMOVE "${sha512sum_file}")
|
||||
|
||||
AddPackage(
|
||||
NAME ${ARTIFACT_PACKAGE}
|
||||
REPO ${ARTIFACT_REPO}
|
||||
VERSION ${ARTIFACT_VERSION}
|
||||
ARTIFACT ${ARTIFACT}
|
||||
CUSTOM_KEY "${ARTIFACT_VERSION}-${pkgname}"
|
||||
HASH ${sha512sum_hash}
|
||||
FORCE_BUNDLED_PACKAGE ON
|
||||
${EXTRA_ARGS})
|
||||
|
||||
set(${ARTIFACT_PACKAGE}_ADDED TRUE PARENT_SCOPE)
|
||||
Propagate(${ARTIFACT_PACKAGE}_SOURCE_DIR)
|
||||
Propagate(CMAKE_PREFIX_PATH)
|
||||
else()
|
||||
cpm_utils_message(FATAL_ERROR "${ARTIFACT_NAME}:"
|
||||
"Unsupported platform ${pkgname} for CI package")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# Utility function for Qt
|
||||
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()
|
||||
|
||||
# TODO: update Qt
|
||||
if (MSVC)
|
||||
set(platname windows)
|
||||
elseif(MINGW)
|
||||
@@ -1035,64 +1129,6 @@ function(AddCIPackage)
|
||||
set(pkgname ${platname}-${archname})
|
||||
endif()
|
||||
|
||||
if (DEFINED pkgname
|
||||
AND NOT "${pkgname}" IN_LIST DISABLED_PLATFORMS)
|
||||
set(ARTIFACT
|
||||
"${ARTIFACT_NAME}-${pkgname}-${ARTIFACT_VERSION}.${ARTIFACT_EXT}")
|
||||
|
||||
if (PKG_ARGS_MODULE_PATH)
|
||||
set(EXTRA_ARGS MODULE_PATH)
|
||||
endif()
|
||||
|
||||
# download sha512sum file
|
||||
# TODO: CI pkgs
|
||||
set(sha512sum_url
|
||||
"https://${ARTIFACT_GIT_HOST}/${ARTIFACT_REPO}/releases/download/v${ARTIFACT_VERSION}/${ARTIFACT}.sha512sum")
|
||||
set(sha512sum_file
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/.cpmutil_${ARTIFACT}_sha512sum")
|
||||
|
||||
file(DOWNLOAD "${sha512sum_url}" "${sha512sum_file}"
|
||||
STATUS sha512sum_status)
|
||||
list(GET sha512sum_status 0 sha512sum_error)
|
||||
|
||||
if(sha512sum_error)
|
||||
message(FATAL_ERROR "[CPMUtil] Failed to download sha512sum "
|
||||
"for ${ARTIFACT_NAME} from ${sha512sum_url}")
|
||||
endif()
|
||||
|
||||
file(READ "${sha512sum_file}" sha512sum_hash)
|
||||
string(STRIP "${sha512sum_hash}" sha512sum_hash)
|
||||
file(REMOVE "${sha512sum_file}")
|
||||
|
||||
AddPackage(
|
||||
NAME ${ARTIFACT_PACKAGE}
|
||||
REPO ${ARTIFACT_REPO}
|
||||
VERSION "v${ARTIFACT_VERSION}"
|
||||
ARTIFACT ${ARTIFACT}
|
||||
CUSTOM_KEY "${ARTIFACT_VERSION}-${pkgname}"
|
||||
HASH ${sha512sum_hash}
|
||||
FORCE_BUNDLED_PACKAGE ON
|
||||
${EXTRA_ARGS})
|
||||
|
||||
set(${ARTIFACT_PACKAGE}_ADDED TRUE PARENT_SCOPE)
|
||||
Propagate(${ARTIFACT_PACKAGE}_SOURCE_DIR)
|
||||
Propagate(CMAKE_PREFIX_PATH)
|
||||
else()
|
||||
cpm_utils_message(FATAL_ERROR "${ARTIFACT_NAME}:"
|
||||
"Unsupported platform ${pkgname} for CI package")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# Utility function for Qt
|
||||
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()
|
||||
|
||||
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)
|
||||
|
||||
|
||||
+12
-7
@@ -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",
|
||||
|
||||
Vendored
-3
@@ -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()
|
||||
|
||||
|
||||
Vendored
-2
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user