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