-
-
Notifications
You must be signed in to change notification settings - Fork 217
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
55 lines (45 loc) · 1.5 KB
/
Copy pathCMakeLists.txt
File metadata and controls
55 lines (45 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
cmake_minimum_required(VERSION 3.10)
project(Sentry-Android LANGUAGES C CXX)
# Add sentry-android shared library
add_library(sentry-android SHARED src/main/jni/sentry.c)
# Conditionally add test library if ENABLE_TESTS is set
if(ENABLE_TESTS)
add_library(sentry-android-test SHARED src/androidTest/jni/ndk-test.cpp)
endif()
# make sure that we build it as a shared lib instead of a static lib
set(BUILD_SHARED_LIBS ON)
set(SENTRY_BUILD_SHARED_LIBS ON)
# Adding sentry-native project
add_subdirectory(${SENTRY_NATIVE_SRC} sentry_build)
if(WITH_ASAN_OPTION)
set(SENTRY_ANDROID_SANITIZER address)
elseif(WITH_TSAN_OPTION)
set(SENTRY_ANDROID_SANITIZER thread)
endif()
if(SENTRY_ANDROID_SANITIZER)
set(SENTRY_ANDROID_SANITIZER_TARGETS sentry-android)
if(ENABLE_TESTS)
list(APPEND SENTRY_ANDROID_SANITIZER_TARGETS sentry-android-test)
endif()
foreach(target IN LISTS SENTRY_ANDROID_SANITIZER_TARGETS)
target_compile_options(${target} PRIVATE
-g -fsanitize=${SENTRY_ANDROID_SANITIZER} -fno-omit-frame-pointer)
target_link_libraries(${target} PRIVATE
-fsanitize=${SENTRY_ANDROID_SANITIZER})
endforeach()
endif()
# Android logging library
find_library(LOG_LIB log)
if(ENABLE_TESTS)
target_link_libraries(sentry-android-test PRIVATE
${LOG_LIB}
$<BUILD_INTERFACE:sentry::sentry>
)
endif()
# Link to sentry-native
target_link_libraries(sentry-android PRIVATE
${LOG_LIB}
$<BUILD_INTERFACE:sentry::sentry>
)
# Support 16KB page sizes
target_link_options(sentry-android PRIVATE "-Wl,-z,max-page-size=16384")