Browse Source

[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>
lizzie/vrbot-ffk1
crueter 23 hours ago
parent
commit
e53e76168c
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 119
      CMakeModules/CPMUtil.cmake
  2. 19
      cpmfile.json
  3. 3
      externals/CMakeLists.txt
  4. 2
      externals/ffmpeg/CMakeLists.txt

119
CMakeModules/CPMUtil.cmake

@ -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,43 +995,43 @@ 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.
# 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() 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() endif()
if (DEFINED pkgname if (DEFINED pkgname
@ -1047,7 +1046,7 @@ function(AddCIPackage)
# download sha512sum file # download sha512sum file
# TODO: CI pkgs # TODO: CI pkgs
set(sha512sum_url 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 set(sha512sum_file
"${CMAKE_CURRENT_BINARY_DIR}/.cpmutil_${ARTIFACT}_sha512sum") "${CMAKE_CURRENT_BINARY_DIR}/.cpmutil_${ARTIFACT}_sha512sum")
@ -1067,7 +1066,7 @@ function(AddCIPackage)
AddPackage( AddPackage(
NAME ${ARTIFACT_PACKAGE} NAME ${ARTIFACT_PACKAGE}
REPO ${ARTIFACT_REPO} REPO ${ARTIFACT_REPO}
VERSION "v${ARTIFACT_VERSION}"
VERSION ${ARTIFACT_VERSION}
ARTIFACT ${ARTIFACT} ARTIFACT ${ARTIFACT}
CUSTOM_KEY "${ARTIFACT_VERSION}-${pkgname}" CUSTOM_KEY "${ARTIFACT_VERSION}-${pkgname}"
HASH ${sha512sum_hash} HASH ${sha512sum_hash}
@ -1093,6 +1092,43 @@ function(AddQt repo version)
message(FATAL_ERROR "[CPMUtil] AddQt: version is required") message(FATAL_ERROR "[CPMUtil] AddQt: version is required")
endif() 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( 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

@ -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

@ -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

@ -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…
Cancel
Save