fff12ab6131cdb0edf1d3d37c7c0cccf9dee096c
[platform/core/uifw/dali-demo.git] / build / android / app / src / main / cpp / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 3.4.1)
2
3 SET(DALI_ENV_DIR $ENV{DALI_ENV_DIR})
4 SET(ENV{PKG_CONFIG_PATH} "${DALI_ENV_DIR}/lib/${ANDROID_ABI}/pkgconfig:$ENV{PKG_CONFIG_PATH}")
5 FIND_PACKAGE(PkgConfig REQUIRED)
6
7 SET(ANDROID_SDK $ENV{ANDROID_SDK})
8 SET(ANDROID_NDK $ENV{ANDROID_NDK})
9
10 # build native_app_glue as a static lib
11 ADD_LIBRARY(native_app_glue STATIC
12     ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c)
13
14 # now build app's shared lib
15 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -frtti -w -Wall -std=gnu++11")
16
17 # Export ANativeActivity_onCreate(),
18 # Refer to: https://github.com/android-ndk/ndk/issues/381.
19 SET(CMAKE_SHARED_LINKER_FLAGS
20   "${CMAKE_SHARED_LINKER_FLAGS} -u ANativeActivity_onCreate")
21
22 ADD_LIBRARY(native-activity SHARED main.cpp)
23
24 TARGET_INCLUDE_DIRECTORIES(native-activity PRIVATE
25   ${ANDROID_NDK}/sources/android/native_app_glue)
26
27 INCLUDE_DIRECTORIES(.)
28 INCLUDE_DIRECTORIES(${DALI_ENV_DIR}/include)
29 INCLUDE_DIRECTORIES(${DALI_ENV_DIR}/include/dali)
30
31 IF(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
32   SET(ENABLE_TRACE ON)
33 ELSE()
34   SET(ENABLE_TRACE OFF)
35 ENDIF()
36
37 IF(EXISTS "${DALI_ENV_DIR}")
38   PKG_CHECK_MODULES(DALI_CORE dali-core REQUIRED NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH)
39   PKG_CHECK_MODULES(DALI_ADAPTOR dali-adaptor REQUIRED NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH)
40   PKG_CHECK_MODULES(DALI_TOOLKIT dali-toolkit REQUIRED NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH)
41 ELSE()
42   MESSAGE(WARNING "${DALI_ENV_DIR} not found!")
43 ENDIF()
44
45 # add lib dependencies
46 TARGET_LINK_LIBRARIES(native-activity
47         ${DALI_TOOLKIT_LDFLAGS}
48         ${DALI_ADAPTOR_LDFLAGS}
49         ${DALI_CORE_LDFLAGS}
50         native_app_glue
51         z
52         android
53         log
54         EGL
55         GLESv3)