CMakeLists.txt
1.7 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
56
57
CMAKE_MINIMUM_REQUIRED(VERSION 3.4.1)
SET(CMAKE_CXX_STANDARD 17)
SET(DALI_ENV_DIR $ENV{DALI_ENV_DIR})
SET(ENV{PKG_CONFIG_PATH} "${DALI_ENV_DIR}/lib/${ANDROID_ABI}/pkgconfig:$ENV{PKG_CONFIG_PATH}")
FIND_PACKAGE(PkgConfig REQUIRED)
SET(ANDROID_SDK $ENV{ANDROID_SDK})
SET(ANDROID_NDK $ENV{ANDROID_NDK})
# build native_app_glue as a static lib
ADD_LIBRARY(native_app_glue STATIC
${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c)
# now build app's shared lib
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -frtti -w -Wall")
# Export ANativeActivity_onCreate(),
# Refer to: https://github.com/android-ndk/ndk/issues/381.
SET(CMAKE_SHARED_LINKER_FLAGS
"${CMAKE_SHARED_LINKER_FLAGS} -u ANativeActivity_onCreate")
ADD_LIBRARY(native-activity SHARED main.cpp)
TARGET_INCLUDE_DIRECTORIES(native-activity PRIVATE
${ANDROID_NDK}/sources/android/native_app_glue)
INCLUDE_DIRECTORIES(.)
INCLUDE_DIRECTORIES(${DALI_ENV_DIR}/include)
INCLUDE_DIRECTORIES(${DALI_ENV_DIR}/include/dali)
IF(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
SET(ENABLE_TRACE ON)
ELSE()
SET(ENABLE_TRACE OFF)
ENDIF()
IF(EXISTS "${DALI_ENV_DIR}")
PKG_CHECK_MODULES(DALI_CORE dali2-core REQUIRED NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH)
PKG_CHECK_MODULES(DALI_ADAPTOR dali2-adaptor REQUIRED NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH)
PKG_CHECK_MODULES(DALI_TOOLKIT dali2-toolkit REQUIRED NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH)
ELSE()
MESSAGE(WARNING "${DALI_ENV_DIR} not found!")
ENDIF()
# add lib dependencies
TARGET_LINK_LIBRARIES(native-activity
${DALI_TOOLKIT_LDFLAGS}
${DALI_ADAPTOR_LDFLAGS}
${DALI_CORE_LDFLAGS}
native_app_glue
z
android
log
EGL
GLESv3)