diff options
| author | crueter <crueter@eden-emu.dev> | 2026-09-01 06:40:52 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-09-01 06:40:52 +0200 |
| commit | e53e76168c93306c605efc0e5ec8f441858d11a6 (patch) | |
| tree | e654e24a8863f4a1a774ea8422b5b11b764c94f5 /CMakeModules/CPMUtil.cmake | |
| parent | cb9ec1dc1a3adac3d5774f7b24ec83a0168cdbe0 (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>
Diffstat (limited to 'CMakeModules/CPMUtil.cmake')
| -rw-r--r-- | CMakeModules/CPMUtil.cmake | 119 |
1 files changed, 78 insertions, 41 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) |
