summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2018-10-08 16:09:35 +0300
committerKonstantin Käfer <mail@kkaefer.com>2019-01-21 17:00:31 +0100
commitd53c7860cd663904e7ef529dfe527b16fd514f56 (patch)
treee3e06015abc044fad57fe2722e1d87778089840a
parentd0e7326e5d42dbed0792c535fd4f25b920b057f0 (diff)
downloadqtlocation-mapboxgl-d53c7860cd663904e7ef529dfe527b16fd514f56.tar.gz
[build] use optional polyfill on Android, and upgrade to NDK r19
<experimental/optional> is not available anymore in newer STL versions, e.g. according to libc++'s TS deprecation policy: https://libcxx.llvm.org/TS_deprecation.html
-rw-r--r--circle.yml8
-rw-r--r--platform/android/config.cmake1
-rw-r--r--platform/android/gradle/dependencies.gradle2
-rw-r--r--vendor/optional.cmake7
4 files changed, 11 insertions, 7 deletions
diff --git a/circle.yml b/circle.yml
index 68d17b774d..c7f2d32250 100644
--- a/circle.yml
+++ b/circle.yml
@@ -15,6 +15,7 @@ workflows:
- android-arm-v7-template:
name: android-gnustl-arm-v7
stl: gnustl_shared
+ image: android-ndk-r17c:1d5db0eb34
- android-release:
filters:
tags:
@@ -519,8 +520,11 @@ jobs:
stl:
type: string
default: "c++_static"
+ image:
+ type: string
+ default: android-ndk-r19:8e91a7ebab
docker:
- - image: mbgl/android-ndk-r17c:dd161efed6
+ - image: mbgl/<< parameters.image >>
resource_class: large
working_directory: /src
environment:
@@ -582,7 +586,7 @@ jobs:
# ------------------------------------------------------------------------------
android-release:
docker:
- - image: mbgl/android-ndk-r17c:dd161efed6
+ - image: mbgl/android-ndk-r19:8e91a7ebab
resource_class: large
working_directory: /src
environment:
diff --git a/platform/android/config.cmake b/platform/android/config.cmake
index d0d2c42eb6..50f1449a9e 100644
--- a/platform/android/config.cmake
+++ b/platform/android/config.cmake
@@ -139,6 +139,7 @@ target_include_directories(example-custom-layer
)
target_link_libraries(example-custom-layer
+ PRIVATE optional
PRIVATE -llog
PRIVATE -lGLESv2
)
diff --git a/platform/android/gradle/dependencies.gradle b/platform/android/gradle/dependencies.gradle
index ae63b46a2a..664d79ca90 100644
--- a/platform/android/gradle/dependencies.gradle
+++ b/platform/android/gradle/dependencies.gradle
@@ -4,7 +4,7 @@ ext {
minSdkVersion : 14,
targetSdkVersion : 27,
compileSdkVersion: 27,
- buildToolsVersion: '27.0.3'
+ buildToolsVersion: '28.0.3'
]
versions = [
diff --git a/vendor/optional.cmake b/vendor/optional.cmake
index 157ccc991d..fa299da6a6 100644
--- a/vendor/optional.cmake
+++ b/vendor/optional.cmake
@@ -1,9 +1,8 @@
add_library(optional INTERFACE)
-# This polyfill is really only needed for
-# Windows. We need to be careful to not leak
-# it into any of our public interfaces.
-if(WIN32)
+# This polyfill is needed for Windows and Android since these standard libraries don't ship with
+# usable versions of <experimental/optional>
+if(WIN32 OR MBGL_PLATFORM STREQUAL "android")
target_include_directories(optional SYSTEM INTERFACE
${CMAKE_SOURCE_DIR}/vendor/optional/include
)