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