Skip to content
This repository was archived by the owner on Aug 8, 2023. It is now read-only.

Commit f7a4a44

Browse files
committed
[build] move ABI version awareness to mason.cmake
1 parent 6379cb0 commit f7a4a44

File tree

2 files changed

+30
-9
lines changed

2 files changed

+30
-9
lines changed

Makefile

+2-4
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,7 @@ $(IOS_PROJ_PATH): $(IOS_USER_DATA_PATH)/WorkspaceSettings.xcsettings $(BUILD_DEP
212212
(cd $(IOS_OUTPUT_PATH) && cmake -G Xcode ../.. \
213213
-DCMAKE_TOOLCHAIN_FILE=../../platform/ios/toolchain.cmake \
214214
-DMBGL_PLATFORM=ios \
215-
-DMASON_PLATFORM=ios \
216-
-DMASON_PLATFORM_VERSION=8.0)
215+
-DMASON_PLATFORM=ios)
217216

218217
$(IOS_USER_DATA_PATH)/WorkspaceSettings.xcsettings: platform/ios/WorkspaceSettings.xcsettings
219218
mkdir -p "$(IOS_USER_DATA_PATH)"
@@ -513,8 +512,7 @@ $(MBGL_ANDROID_BUILD_DIR)/build.ninja: $(MBGL_ANDROID_BUILD_DIR)/env.sh platform
513512
-DCMAKE_BUILD_TYPE=$(BUILDTYPE) \
514513
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
515514
-DMBGL_PLATFORM=android \
516-
-DMASON_PLATFORM=android \
517-
-DMASON_PLATFORM_VERSION=$1-$3) && \
515+
-DMASON_PLATFORM=android) && \
518516
$$$${CMAKE} \
519517
-H. \
520518
-B"$(MBGL_ANDROID_BUILD_DIR)"

cmake/mason.cmake

+28-5
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,34 @@ function(mason_detect_platform)
2121

2222
# Determine platform version string
2323
if(NOT MASON_PLATFORM_VERSION)
24-
execute_process(
25-
COMMAND uname -m
26-
OUTPUT_VARIABLE MASON_PLATFORM_VERSION
27-
OUTPUT_STRIP_TRAILING_WHITESPACE)
28-
set(MASON_PLATFORM_VERSION "${MASON_PLATFORM_VERSION}" PARENT_SCOPE)
24+
# Android Studio only passes ANDROID_ABI, but we need to adjust that to the Mason
25+
if(MASON_PLATFORM STREQUAL "android" AND NOT MASON_PLATFORM_VERSION)
26+
if (ANDROID_ABI STREQUAL "armeabi")
27+
set(MASON_PLATFORM_VERSION "arm-v5-9" PARENT_SCOPE)
28+
elseif (ANDROID_ABI STREQUAL "armeabi-v7a")
29+
set(MASON_PLATFORM_VERSION "arm-v7-9" PARENT_SCOPE)
30+
elseif (ANDROID_ABI STREQUAL "arm64-v8a")
31+
set(MASON_PLATFORM_VERSION "arm-v8-21" PARENT_SCOPE)
32+
elseif (ANDROID_ABI STREQUAL "x86")
33+
set(MASON_PLATFORM_VERSION "x86-9" PARENT_SCOPE)
34+
elseif (ANDROID_ABI STREQUAL "x86_64")
35+
set(MASON_PLATFORM_VERSION "x86-64-21" PARENT_SCOPE)
36+
elseif (ANDROID_ABI STREQUAL "mips")
37+
set(MASON_PLATFORM_VERSION "mips-9" PARENT_SCOPE)
38+
elseif (ANDROID_ABI STREQUAL "mips64")
39+
set(MASON_PLATFORM_VERSION "mips-64-9" PARENT_SCOPE)
40+
else()
41+
message(FATAL_ERROR "Unknown ANDROID_ABI '${ANDROID_ABI}'.")
42+
endif()
43+
elseif(MASON_PLATFORM STREQUAL "ios")
44+
set(MASON_PLATFORM_VERSION "8.0" PARENT_SCOPE)
45+
else()
46+
execute_process(
47+
COMMAND uname -m
48+
OUTPUT_VARIABLE MASON_PLATFORM_VERSION
49+
OUTPUT_STRIP_TRAILING_WHITESPACE)
50+
set(MASON_PLATFORM_VERSION "${MASON_PLATFORM_VERSION}" PARENT_SCOPE)
51+
endif()
2952
endif()
3053
endfunction()
3154

0 commit comments

Comments
 (0)