Apply wearable profile
[apps/native/starter.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(starter C)
3
4 SET(PACKAGE ${PROJECT_NAME})
5 SET(PKGNAME "org.tizen.${PACKAGE}")
6 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
7 SET(BINDIR "${PREFIX}/bin")
8 SET(DATADIR "${PREFIX}/share")
9 SET(RESDIR "${PREFIX}/res")
10 SET(LOCALEDIR "${PREFIX}/share/locale")
11
12 IF("${TIZEN_PROFILE_NAME}" STREQUAL "MOBILE")
13 INCLUDE_DIRECTORIES(
14         ${CMAKE_SOURCE_DIR}/include
15         ${CMAKE_SOURCE_DIR}/include/mobile
16 )
17 INCLUDE(FindPkgConfig)
18 pkg_check_modules(pkgs REQUIRED
19         aul
20         capi-system-media-key
21         db-util
22         dlog
23         ecore
24         ecore-wayland
25         ecore-evas
26         ecore-input
27         edbus
28         eina
29         elementary
30         evas
31         syspopup-caller
32         vconf
33         appcore-efl
34         glib-2.0
35         ui-gadget-1
36         bundle
37         capi-appfw-application
38         capi-appfw-app-manager
39         capi-network-bluetooth
40         capi-system-system-settings
41         feedback
42         alarm-service
43         pkgmgr-info
44         deviced
45         edbus
46         dbus-1
47         dbus-glib-1
48         tts
49         capi-message-port
50         security-manager
51         efl-extension
52 )
53
54 IF(X11_SUPPORT)
55 pkg_check_modules(pkgs REQUIRED
56         ecore-x
57         utilX
58         )
59 ENDIF(X11_SUPPORT)
60
61 ELSE()
62 INCLUDE_DIRECTORIES(
63         ${CMAKE_SOURCE_DIR}/include
64         ${CMAKE_SOURCE_DIR}/include/wearable
65 )
66 INCLUDE(FindPkgConfig)
67 pkg_check_modules(pkgs REQUIRED
68         aul
69         capi-system-media-key
70         db-util
71         dlog
72         ecore
73         ecore-evas
74         ecore-input
75         ecore-wayland
76         edbus
77         eina
78         elementary
79         evas
80         syspopup-caller
81         vconf
82         appcore-efl
83         glib-2.0
84         ui-gadget-1
85         bundle
86         capi-appfw-application
87         capi-appfw-app-manager
88         capi-network-bluetooth
89         feedback
90         alarm-service
91         pkgmgr-info
92         deviced
93         edbus
94         dbus-1
95         dbus-glib-1
96 )
97
98 IF(X11_SUPPORT)
99 pkg_check_modules(pkgs REQUIRED
100         ecore-x
101         utilX
102         )
103 ENDIF(X11_SUPPORT)
104
105 ENDIF()
106
107
108 FOREACH(flag ${pkgs_CFLAGS})
109         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
110 ENDFOREACH(flag)
111
112 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -fPIE")
113 SET(CMAKE_C_FLAGS_PROFILING    "-O0 -g -pg -fPIE")
114 SET(CMAKE_CXX_FLAGS_PROFILING  "-O0 -std=c++0x -g -pg -fPIE")
115 SET(CMAKE_C_FLAGS_DEBUG        "-O0 -g -fPIE")
116 SET(CMAKE_CXX_FLAGS_DEBUG      "-O0 -std=c++0x -g -fPIE")
117 SET(CMAKE_C_FLAGS_RELEASE      "-O2 -g -fPIE")
118 SET(CMAKE_CXX_FLAGS_RELEASE    "-O2 -std=c++0x -g -fPIE")
119 SET(CMAKE_C_FLAGS_CCOV         "-O2 -g --coverage -fPIE")
120 SET(CMAKE_CXX_FLAGS_CCOV       "-O2 -std=c++0x -g --coverage -fPIE")
121
122 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${PREFIX}/lib -pie")
123
124 FIND_PROGRAM(UNAME NAMES uname)
125 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
126 IF("${ARCH}" STREQUAL "arm")
127         ADD_DEFINITIONS("-DTARGET")
128         MESSAGE("add -DTARGET")
129 ENDIF("${ARCH}" STREQUAL "arm")
130
131 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
132 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
133 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
134 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
135 ADD_DEFINITIONS("-D_GNU_SOURCE")
136
137 IF(X11_SUPPORT)
138         ADD_DEFINITIONS("-DHAVE_X11")
139 ENDIF(X11_SUPPORT)
140
141 IF(WAYLAND_SUPPORT)
142         ADD_DEFINITIONS("-DHAVE_WAYLAND")
143 ENDIF(WAYLAND_SUPPORT)
144
145 IF("${TIZEN_PROFILE_NAME}" STREQUAL "MOBILE")
146 SET(BUILD_SOURCE
147         src/dbus_util.c
148         src/package_mgr.c
149         src/process_mgr.c
150         src/status.c
151
152         src/mobile/home_mgr.c
153         src/mobile/starter.c
154         src/mobile/lock_mgr.c
155         src/mobile/lock_pwd_util.c
156         src/mobile/lock_pwd_simple.c
157         src/mobile/lock_pwd_complex.c
158         src/mobile/lock_pwd_control_panel.c
159         src/mobile/lock_pwd_verification.c
160         src/mobile/window_mgr.c
161         src/mobile/popup.c
162         src/mobile/hw_key.c
163 )
164
165 ELSE("${TIZEN_PROFILE_NAME}" STREQUAL "WEARABLE")
166 SET(BUILD_SOURCE
167         src/dbus_util.c
168         src/package_mgr.c
169         src/process_mgr.c
170         src/status.c
171
172         src/wearable/clock_mgr.c
173         src/wearable/home_mgr.c
174         src/wearable/hourly_alert.c
175         src/wearable/hw_key.c
176         src/wearable/starter.c
177 )
178 IF(X11_SUPPORT)
179 SET(BUILD_SOURCE
180         ${BUILD_SOURCE}
181         src/wearable/hw_key.c
182 )
183 ENDIF(X11_SUPPORT)
184 ENDIF("${TIZEN_PROFILE_NAME}" STREQUAL "MOBILE")
185
186 ADD_EXECUTABLE(${PROJECT_NAME} ${BUILD_SOURCE})
187 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
188 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
189 INSTALL(DIRECTORY DESTINATION ${DATADIR})
190
191 INSTALL(FILES ${CMAKE_SOURCE_DIR}/rd4starter DESTINATION /etc/init.d
192                 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
193                 GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
194 INSTALL(FILES ${CMAKE_SOURCE_DIR}/rd3starter DESTINATION /etc/init.d
195                 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
196                 GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
197 #INSTALL to /etc/init.d
198
199 ADD_SUBDIRECTORY(res)
200 ADD_SUBDIRECTORY(po)