Skip to content

Commit 338db04

Browse files
jni: build android with c++_static
1 parent 45d00af commit 338db04

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

jni/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
cmake_minimum_required(VERSION 3.10.2)
2+
3+
# Must precede project(), which is where the Android toolchain file reads it.
4+
set(ANDROID_STL "c++_static" CACHE STRING "C++ runtime to link against on Android")
5+
26
project(mavsdk-jni CXX)
37

48
set(CMAKE_CXX_STANDARD 17)
@@ -25,6 +29,10 @@ target_link_libraries(mavsdk_jni CMAVSDK::CMAVSDK)
2529

2630
if(ANDROID)
2731
target_link_libraries(mavsdk_jni log)
32+
33+
# Export only the JNIEXPORT entry points, not the static archives or libc++.
34+
target_link_options(mavsdk_jni PRIVATE "-Wl,--exclude-libs,ALL")
35+
target_compile_options(mavsdk_jni PRIVATE -fvisibility=hidden -fvisibility-inlines-hidden)
2836
else()
2937
find_package(JNI REQUIRED)
3038
target_include_directories(mavsdk_jni PRIVATE ${JNI_INCLUDE_DIRS})

0 commit comments

Comments
 (0)