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