diff options
| author | crueter <crueter@eden-emu.dev> | 2026-06-09 21:41:50 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-06-09 21:41:50 +0200 |
| commit | 3e31831cb0a966b99c5e86c64f0a6294d7079704 (patch) | |
| tree | c877960dd93b35f251ed82bc45244883a07ee065 /CMakeModules | |
| parent | 5ba3ae32dc040ac813c93512b0d90a22c4ec278a (diff) | |
[externals] UCRT64 support (#4035)
Testing which deps can't cross MSVCRT/UCRT barriers
- openssl
- Qt
FFmpeg and Sirit are fine--likely don't use the C99 APIs that MSVCRT is missing?
Closes #4022
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4035
Diffstat (limited to 'CMakeModules')
| -rw-r--r-- | CMakeModules/CPMUtil.cmake | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/CMakeModules/CPMUtil.cmake b/CMakeModules/CPMUtil.cmake index b98595ac2e..d077816721 100644 --- a/CMakeModules/CPMUtil.cmake +++ b/CMakeModules/CPMUtil.cmake @@ -3,7 +3,7 @@ set(CPM_SOURCE_CACHE "${PROJECT_SOURCE_DIR}/.cache/cpm" CACHE STRING "" FORCE) -if(MSVC OR ANDROID) +if(MSVC OR ANDROID OR IOS) set(BUNDLED_DEFAULT ON) else() set(BUNDLED_DEFAULT OFF) @@ -247,7 +247,9 @@ function(AddJsonPackage) set(multiValueArgs OPTIONS) - cmake_parse_arguments(JSON "" "${oneValueArgs}" "${multiValueArgs}" + set(options MODULE) + + cmake_parse_arguments(JSON "${options}" "${oneValueArgs}" "${multiValueArgs}" "${ARGN}") list(LENGTH ARGN argnLength) @@ -277,6 +279,10 @@ function(AddJsonPackage) parse_object(${object}) if(ci) + if (JSON_MODULE) + set(EXTRA_ARGS MODULE) + endif() + AddCIPackage( VERSION ${version} NAME ${name} @@ -284,8 +290,8 @@ function(AddJsonPackage) PACKAGE ${package} EXTENSION ${extension} MIN_VERSION ${min_version} - DISABLED_PLATFORMS ${disabled_platforms}) - + DISABLED_PLATFORMS ${disabled_platforms} + ${EXTRA_ARGS}) else() if (NOT DEFINED JSON_FORCE_BUNDLED_PACKAGE) set(JSON_FORCE_BUNDLED_PACKAGE OFF) @@ -690,8 +696,10 @@ function(AddCIPackage) set(pkgname linux-amd64) elseif(PLATFORM_LINUX AND ARCHITECTURE_arm64) set(pkgname linux-aarch64) - elseif(APPLE) + elseif(APPLE AND NOT IOS) set(pkgname macos-universal) + elseif(IOS AND ARCHITECTURE_arm64) + set(pkgname ios-aarch64) endif() if (DEFINED pkgname AND NOT "${pkgname}" IN_LIST DISABLED_PLATFORMS) @@ -724,7 +732,11 @@ function(AddCIPackage) endfunction() # Utility function for Qt -function(AddQt version) +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() @@ -734,7 +746,7 @@ function(AddQt version) PACKAGE Qt6 VERSION ${version} MIN_VERSION 6 - REPO crueter-ci/Qt + REPO ${repo} DISABLED_PLATFORMS android-x86_64 android-aarch64 freebsd-amd64 solaris-amd64 openbsd-amd64 |
