Migrate from 2.4 code repo
[platform/core/context/context-service.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(context-service)
3 INCLUDE(GNUInstallDirs)
4
5 # Targets
6 SET(target "contextd")
7
8 # Source Lists
9 FILE(GLOB_RECURSE SRCS src/*.cpp)
10 MESSAGE("Sources: ${SRCS}")
11
12 # Dependencies
13 SET(DEPS
14         vconf
15         libxml-2.0
16         sqlite3
17         capi-system-info
18         capi-appfw-app-manager
19         appsvc
20         pkgmgr-info
21         capi-security-privilege-manager
22         vasum
23         alarm-service
24         notification
25         clips
26         context-common
27         device-context-provider
28         statistics-context-provider
29         place-context-provider
30 )
31
32 # Dependencies regarding profiles
33 IF("${PROFILE}" STREQUAL "mobile")
34         ADD_DEFINITIONS("-D_MOBILE")
35 ENDIF("${PROFILE}" STREQUAL "mobile")
36
37 IF("${PROFILE}" STREQUAL "wearable")
38         ADD_DEFINITIONS("-D_WEARABLE")
39 ENDIF("${PROFILE}" STREQUAL "wearable")
40
41 # Target vs Emulator
42 IF("${ARCH}" STREQUAL "arm")
43         ADD_DEFINITIONS("-D_TARGET")
44 ELSE("${ARCH}" STREQUAL "arm")
45         ADD_DEFINITIONS("-D_EMULATOR")
46 ENDIF("${ARCH}" STREQUAL "arm")
47
48 # Common Options
49 INCLUDE(FindPkgConfig)
50 INCLUDE_DIRECTORIES(
51         /usr/include
52         /usr/include/glib-2.0
53 )
54 ADD_DEFINITIONS(-g -O2 -Wall -fPIC -fvisibility=hidden -Wl,--as-needed)
55
56 # Building Daemon
57 pkg_check_modules(daemon_pkg REQUIRED ${DEPS})
58
59 SET(DAEMON_EXTRA_CFLAGS -fPIE)
60 FOREACH(flag ${daemon_pkg_CFLAGS})
61         SET(DAEMON_EXTRA_CFLAGS "${DAEMON_EXTRA_CFLAGS} ${flag}")
62 ENDFOREACH(flag)
63
64 ADD_EXECUTABLE(${target} ${SRCS})
65 TARGET_LINK_LIBRARIES(${target} ${daemon_pkg_LDFLAGS} -pie)
66 SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_FLAGS ${DAEMON_EXTRA_CFLAGS})
67 SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITIONS "LOG_TAG=\"CONTEXT\"")
68
69 # Installing Daemon
70 INSTALL(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_BINDIR})