summaryrefslogtreecommitdiff
path: root/cmake/mason.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/mason.cmake')
-rw-r--r--cmake/mason.cmake20
1 files changed, 9 insertions, 11 deletions
diff --git a/cmake/mason.cmake b/cmake/mason.cmake
index 6116067080..76d02b95b5 100644
--- a/cmake/mason.cmake
+++ b/cmake/mason.cmake
@@ -24,11 +24,11 @@ function(mason_detect_platform)
# Android Studio only passes ANDROID_ABI, but we need to adjust that to the Mason
if(MASON_PLATFORM STREQUAL "android" AND NOT MASON_PLATFORM_VERSION)
if (ANDROID_ABI STREQUAL "armeabi-v7a")
- set(MASON_PLATFORM_VERSION "arm-v7-9" PARENT_SCOPE)
+ set(MASON_PLATFORM_VERSION "arm-v7-14" PARENT_SCOPE)
elseif (ANDROID_ABI STREQUAL "arm64-v8a")
set(MASON_PLATFORM_VERSION "arm-v8-21" PARENT_SCOPE)
elseif (ANDROID_ABI STREQUAL "x86")
- set(MASON_PLATFORM_VERSION "x86-9" PARENT_SCOPE)
+ set(MASON_PLATFORM_VERSION "x86-14" PARENT_SCOPE)
elseif (ANDROID_ABI STREQUAL "x86_64")
set(MASON_PLATFORM_VERSION "x86-64-21" PARENT_SCOPE)
else()
@@ -84,17 +84,15 @@ function(mason_use _PACKAGE)
set(_URL "${MASON_REPOSITORY}/${_SLUG}.tar.gz")
message("[Mason] Downloading package ${_URL}...")
- set(_FAILED)
- set(_ERROR)
- # Note: some CMake versions are compiled without SSL support
+ set(_STATUS)
get_filename_component(_CACHE_DIR "${_CACHE_PATH}" DIRECTORY)
file(MAKE_DIRECTORY "${_CACHE_DIR}")
- execute_process(
- COMMAND curl --retry 3 -s -f -S -L "${_URL}" -o "${_CACHE_PATH}.tmp"
- RESULT_VARIABLE _FAILED
- ERROR_VARIABLE _ERROR)
- if(_FAILED)
- message(FATAL_ERROR "[Mason] Failed to download ${_URL}: ${_ERROR}")
+ file(DOWNLOAD "${_URL}" "${_CACHE_PATH}.tmp" STATUS _STATUS TLS_VERIFY ON)
+
+ list(GET _STATUS 0 _STATUS_CODE)
+ list(GET _STATUS 1 _STATUS_STRING)
+ if(NOT _STATUS_CODE EQUAL 0)
+ message(FATAL_ERROR "[Mason] Failed to download ${_URL}: ${_STATUS_STRING}")
else()
# We downloaded to a temporary file to prevent half-finished downloads
file(RENAME "${_CACHE_PATH}.tmp" "${_CACHE_PATH}")