aboutsummaryrefslogtreecommitdiff
path: root/CMakeModules/CPMUtil.cmake
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 /CMakeModules/CPMUtil.cmake
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>
Diffstat (limited to 'CMakeModules/CPMUtil.cmake')
-rw-r--r--CMakeModules/CPMUtil.cmake119
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)