mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-10-20 16:50:05 +02: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:
parent
cb9ec1dc1a
commit
e53e76168c
4 changed files with 114 additions and 77 deletions
|
|
@ -552,7 +552,6 @@ macro(parse_object object)
|
||||||
get_json_element("${object}" repo repo)
|
get_json_element("${object}" repo repo)
|
||||||
get_json_element("${object}" ci ci OFF)
|
get_json_element("${object}" ci ci OFF)
|
||||||
get_json_element("${object}" version version)
|
get_json_element("${object}" version version)
|
||||||
get_json_element("${object}" min_version min_version)
|
|
||||||
get_json_element("${object}" git_host git_host "github.com")
|
get_json_element("${object}" git_host git_host "github.com")
|
||||||
|
|
||||||
if (NOT version)
|
if (NOT version)
|
||||||
|
|
@ -571,8 +570,8 @@ macro(parse_object object)
|
||||||
set(disabled_platforms "")
|
set(disabled_platforms "")
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
# TODO: correct hash if missing
|
|
||||||
get_json_element("${object}" hash hash)
|
get_json_element("${object}" hash hash)
|
||||||
|
get_json_element("${object}" min_version min_version)
|
||||||
get_json_element("${object}" url url)
|
get_json_element("${object}" url url)
|
||||||
get_json_element("${object}" artifact artifact)
|
get_json_element("${object}" artifact artifact)
|
||||||
get_json_element("${object}" source_subdir source_subdir)
|
get_json_element("${object}" source_subdir source_subdir)
|
||||||
|
|
@ -945,8 +944,8 @@ function(AddCIPackage)
|
||||||
REPO
|
REPO
|
||||||
PACKAGE
|
PACKAGE
|
||||||
EXTENSION
|
EXTENSION
|
||||||
MIN_VERSION
|
GIT_HOST
|
||||||
GIT_HOST)
|
PKGNAME)
|
||||||
|
|
||||||
set(multiValueArgs DISABLED_PLATFORMS)
|
set(multiValueArgs DISABLED_PLATFORMS)
|
||||||
|
|
||||||
|
|
@ -996,9 +995,104 @@ function(AddCIPackage)
|
||||||
set(ARTIFACT_REPO ${PKG_ARGS_REPO})
|
set(ARTIFACT_REPO ${PKG_ARGS_REPO})
|
||||||
set(ARTIFACT_PACKAGE ${PKG_ARGS_PACKAGE})
|
set(ARTIFACT_PACKAGE ${PKG_ARGS_PACKAGE})
|
||||||
|
|
||||||
# TODO: Use amd64/aarch64 naming for everything.
|
# plat/archname
|
||||||
# Also drop macos universal
|
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)
|
if (MSVC)
|
||||||
set(platname windows)
|
set(platname windows)
|
||||||
elseif(MINGW)
|
elseif(MINGW)
|
||||||
|
|
@ -1035,64 +1129,6 @@ function(AddCIPackage)
|
||||||
set(pkgname ${platname}-${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/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(
|
AddCIPackage(
|
||||||
NAME qt
|
NAME qt
|
||||||
PACKAGE Qt6
|
PACKAGE Qt6
|
||||||
|
|
@ -1100,7 +1136,8 @@ function(AddQt repo version)
|
||||||
REPO ${repo}
|
REPO ${repo}
|
||||||
DISABLED_PLATFORMS
|
DISABLED_PLATFORMS
|
||||||
android-x86_64 android-aarch64
|
android-x86_64 android-aarch64
|
||||||
MODULE_PATH)
|
MODULE_PATH
|
||||||
|
PKGNAME ${pkgname})
|
||||||
|
|
||||||
find_package(Qt6 REQUIRED PATHS ${Qt6_SOURCE_DIR} NO_DEFAULT_PATH)
|
find_package(Qt6 REQUIRED PATHS ${Qt6_SOURCE_DIR} NO_DEFAULT_PATH)
|
||||||
|
|
||||||
|
|
|
||||||
19
cpmfile.json
19
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": {
|
"biscuit": {
|
||||||
"hash": "1229f345b014f7ca544dedb4edb3311e41ba736f9aa9a67f88b5f26f3c983288c6bb6cdedcfb0b8a02c63088a37e6a0d7ba97d9c2a4d721b213916327cffe28a",
|
"hash": "1229f345b014f7ca544dedb4edb3311e41ba736f9aa9a67f88b5f26f3c983288c6bb6cdedcfb0b8a02c63088a37e6a0d7ba97d9c2a4d721b213916327cffe28a",
|
||||||
"min_version": "0.9.1",
|
"min_version": "0.9.1",
|
||||||
|
|
@ -79,11 +87,10 @@
|
||||||
},
|
},
|
||||||
"ffmpeg-ci": {
|
"ffmpeg-ci": {
|
||||||
"ci": true,
|
"ci": true,
|
||||||
"min_version": "4.1",
|
|
||||||
"name": "ffmpeg",
|
"name": "ffmpeg",
|
||||||
"package": "FFmpeg",
|
"package": "FFmpeg",
|
||||||
"repo": "crueter-ci/FFmpeg",
|
"repo": "crueter-ci/FFmpeg",
|
||||||
"version": "8.0.1-c7b5f1537d"
|
"version": "9.0.1-1788120736-bf1b838f2a"
|
||||||
},
|
},
|
||||||
"fmt": {
|
"fmt": {
|
||||||
"hash": "f0da82c545b01692e9fd30fdfb613dbb8dd9716983dcd0ff19ac2a8d36f74beb5540ef38072fdecc1e34191b3682a8542ecbf3a61ef287dbba0a2679d4e023f2",
|
"hash": "f0da82c545b01692e9fd30fdfb613dbb8dd9716983dcd0ff19ac2a8d36f74beb5540ef38072fdecc1e34191b3682a8542ecbf3a61ef287dbba0a2679d4e023f2",
|
||||||
|
|
@ -197,11 +204,10 @@
|
||||||
},
|
},
|
||||||
"openssl-ci": {
|
"openssl-ci": {
|
||||||
"ci": true,
|
"ci": true,
|
||||||
"min_version": "3.0.0",
|
|
||||||
"name": "openssl",
|
"name": "openssl",
|
||||||
"package": "OpenSSL",
|
"package": "OpenSSL",
|
||||||
"repo": "crueter-ci/OpenSSL",
|
"repo": "crueter-ci/OpenSSL",
|
||||||
"version": "4.0.0-11b7b6ea3b"
|
"version": "4.0.1-1788234794-b64f68a94e"
|
||||||
},
|
},
|
||||||
"openssl-cmake": {
|
"openssl-cmake": {
|
||||||
"bundled": true,
|
"bundled": true,
|
||||||
|
|
@ -255,11 +261,10 @@
|
||||||
},
|
},
|
||||||
"sdl3-ci": {
|
"sdl3-ci": {
|
||||||
"ci": true,
|
"ci": true,
|
||||||
"min_version": "3.2.10",
|
|
||||||
"name": "SDL3",
|
"name": "SDL3",
|
||||||
"package": "SDL3",
|
"package": "SDL3",
|
||||||
"repo": "crueter-ci/SDL3",
|
"repo": "crueter-ci/SDL3",
|
||||||
"version": "3.4.8-d57c3b685c"
|
"version": "3.4.14-1788231389-147a8ee32d"
|
||||||
},
|
},
|
||||||
"simpleini": {
|
"simpleini": {
|
||||||
"find_args": "MODULE",
|
"find_args": "MODULE",
|
||||||
|
|
@ -282,7 +287,7 @@
|
||||||
"name": "sirit",
|
"name": "sirit",
|
||||||
"package": "sirit",
|
"package": "sirit",
|
||||||
"repo": "eden-emulator/sirit",
|
"repo": "eden-emulator/sirit",
|
||||||
"version": "1.0.5"
|
"version": "v1.0.7"
|
||||||
},
|
},
|
||||||
"spirv-headers": {
|
"spirv-headers": {
|
||||||
"hash": "d624371dd455c66a300344c89812598ffe11b5eedba555779f789e85c29dc67317741858c60e0744a1e6755cc0d2759b8659f0674f4cc31479c4cb6fc25ed23b",
|
"hash": "d624371dd455c66a300344c89812598ffe11b5eedba555779f789e85c29dc67317741858c60e0744a1e6755cc0d2759b8659f0674f4cc31479c4cb6fc25ed23b",
|
||||||
|
|
|
||||||
3
externals/CMakeLists.txt
vendored
3
externals/CMakeLists.txt
vendored
|
|
@ -161,9 +161,6 @@ if (NOT ANDROID)
|
||||||
AddJsonPackage(sdl3)
|
AddJsonPackage(sdl3)
|
||||||
else()
|
else()
|
||||||
message(STATUS "Using bundled SDL3")
|
message(STATUS "Using bundled SDL3")
|
||||||
if (FREEBSD)
|
|
||||||
set(BUILD_SHARED_LIBS ON)
|
|
||||||
endif()
|
|
||||||
AddJsonPackage(sdl3-ci)
|
AddJsonPackage(sdl3-ci)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
||||||
2
externals/ffmpeg/CMakeLists.txt
vendored
2
externals/ffmpeg/CMakeLists.txt
vendored
|
|
@ -4,8 +4,6 @@
|
||||||
# SPDX-FileCopyrightText: 2021 yuzu Emulator Project
|
# SPDX-FileCopyrightText: 2021 yuzu Emulator Project
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# TODO(crueter, MaranBr): Externals FFmpeg 8.0
|
|
||||||
|
|
||||||
set(FFmpeg_HWACCEL_LIBRARIES)
|
set(FFmpeg_HWACCEL_LIBRARIES)
|
||||||
set(FFmpeg_HWACCEL_FLAGS)
|
set(FFmpeg_HWACCEL_FLAGS)
|
||||||
set(FFmpeg_HWACCEL_INCLUDE_DIRS)
|
set(FFmpeg_HWACCEL_INCLUDE_DIRS)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue