Fixed the build error for gcc-14
[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 "COMMON")
13
14 INCLUDE_DIRECTORIES(
15         ${CMAKE_SOURCE_DIR}/include
16         ${CMAKE_SOURCE_DIR}/include/common
17 )
18 INCLUDE(FindPkgConfig)
19 pkg_check_modules(pkgs REQUIRED
20         aul
21         capi-system-media-key
22         db-util
23         dlog
24         ecore
25         ecore-wl2
26         ecore-evas
27         ecore-input
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         capi-message-port
48         efl-extension
49 )
50
51 ELSEIF("${TIZEN_PROFILE_NAME}" STREQUAL "MOBILE")
52
53 INCLUDE_DIRECTORIES(
54         ${CMAKE_SOURCE_DIR}/include
55         ${CMAKE_SOURCE_DIR}/include/mobile
56 )
57 INCLUDE(FindPkgConfig)
58 pkg_check_modules(pkgs REQUIRED
59         aul
60         capi-system-media-key
61         db-util
62         dlog
63         ecore
64         ecore-wl2
65         ecore-evas
66         ecore-input
67         eina
68         elementary
69         evas
70         syspopup-caller
71         vconf
72         appcore-efl
73         glib-2.0
74         ui-gadget-1
75         bundle
76         capi-appfw-application
77         capi-appfw-app-manager
78         capi-network-bluetooth
79         capi-system-system-settings
80         capi-system-info
81         capi-telephony
82         feedback
83         alarm-service
84         pkgmgr-info
85         deviced
86         edbus
87         dbus-1
88         capi-message-port
89         efl-extension
90         libsystemd
91 )
92
93 ELSEIF("${TIZEN_PROFILE_NAME}" STREQUAL "WEARABLE")
94
95 INCLUDE_DIRECTORIES(
96         ${CMAKE_SOURCE_DIR}/include
97         ${CMAKE_SOURCE_DIR}/include/wearable
98 )
99 INCLUDE(FindPkgConfig)
100 pkg_check_modules(pkgs REQUIRED
101         aul
102         ecore-wl2
103         elementary
104         capi-appfw-app-manager
105         feedback
106         alarm-service
107         pkgmgr-info
108         deviced
109         edbus
110         libsystemd
111         rua
112 )
113
114 ENDIF()
115
116 IF(X11_SUPPORT)
117 pkg_check_modules(pkgs REQUIRED
118         ecore-x
119         utilX
120         )
121 ENDIF(X11_SUPPORT)
122
123 FOREACH(flag ${pkgs_CFLAGS})
124         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
125 ENDFOREACH(flag)
126
127 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -fPIE")
128 SET(CMAKE_C_FLAGS_PROFILING    "-O0 -g -pg -fPIE")
129 SET(CMAKE_CXX_FLAGS_PROFILING  "-O0 -std=c++0x -g -pg -fPIE")
130 SET(CMAKE_C_FLAGS_DEBUG        "-O0 -g -fPIE")
131 SET(CMAKE_CXX_FLAGS_DEBUG      "-O0 -std=c++0x -g -fPIE")
132 SET(CMAKE_C_FLAGS_RELEASE      "-O2 -g -fPIE")
133 SET(CMAKE_CXX_FLAGS_RELEASE    "-O2 -std=c++0x -g -fPIE")
134 SET(CMAKE_C_FLAGS_CCOV         "-O2 -g --coverage -fPIE")
135 SET(CMAKE_CXX_FLAGS_CCOV       "-O2 -std=c++0x -g --coverage -fPIE")
136
137 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${PREFIX}/lib -pie")
138
139 FIND_PROGRAM(UNAME NAMES uname)
140 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
141 IF("${ARCH}" STREQUAL "arm")
142         ADD_DEFINITIONS("-DTARGET")
143         MESSAGE("add -DTARGET")
144 ENDIF("${ARCH}" STREQUAL "arm")
145
146 ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
147 ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
148 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
149 ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
150 ADD_DEFINITIONS("-D_GNU_SOURCE")
151
152 IF(X11_SUPPORT)
153         ADD_DEFINITIONS("-DHAVE_X11")
154 ENDIF(X11_SUPPORT)
155
156 IF(WAYLAND_SUPPORT)
157         ADD_DEFINITIONS("-DHAVE_WAYLAND")
158 ENDIF(WAYLAND_SUPPORT)
159
160 IF("${TIZEN_PROFILE_NAME}" STREQUAL "COMMON")
161
162 SET(BUILD_SOURCE
163         src/dbus_util.c
164         src/package_mgr.c
165         src/process_mgr.c
166         src/status.c
167
168         src/common/home_mgr.c
169         src/common/lock_mgr.c
170         src/common/starter.c
171         src/common/popup.c
172         src/common/hw_key.c
173         src/common/oobe_mgr.c
174 )
175
176 ELSEIF("${TIZEN_PROFILE_NAME}" STREQUAL "MOBILE")
177
178 SET(BUILD_SOURCE
179         src/dbus_util.c
180         src/package_mgr.c
181         src/process_mgr.c
182         src/status.c
183
184         src/mobile/home_mgr.c
185         src/mobile/lock_mgr.c
186         src/mobile/starter.c
187         src/mobile/popup.c
188         src/mobile/hw_key.c
189 )
190
191 ELSEIF("${TIZEN_PROFILE_NAME}" STREQUAL "WEARABLE")
192
193 SET(BUILD_SOURCE
194         src/dbus_util.c
195         src/package_mgr.c
196         src/process_mgr.c
197         src/status.c
198
199         src/wearable/clock_mgr.c
200         src/wearable/home_mgr.c
201         src/wearable/hourly_alert.c
202         src/wearable/hw_key.c
203         src/wearable/starter.c
204 )
205
206 ENDIF()
207
208 ADD_EXECUTABLE(${PROJECT_NAME} ${BUILD_SOURCE})
209 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
210 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
211 INSTALL(DIRECTORY DESTINATION ${DATADIR})
212
213 ADD_SUBDIRECTORY(po)