1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
6 SET(VERSION "${VERSION_MAJOR}.1.0")
10 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
11 SET(EXEC_PREFIX "\${prefix}")
12 SET(LIBDIR "\${prefix}/lib")
13 SET(INCLUDEDIR "\${prefix}/include/aul")
15 # Build type : Release
16 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
17 SET(CMAKE_BUILD_TYPE "Release")
19 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
22 # Set required packages
23 INCLUDE(FindPkgConfig)
25 SET(pkgs_requires "dlog ecore x11 libprivilege-control rua glib-2.0 ecore-x ecore-input evas vconf pkgmgr-info libresourced security-server")
26 SET(libpkgs_requires "dlog bundle dbus-glib-1 ail xdgmime libsmack ecore pkgmgr-info")
28 IF(_APPFW_FEATURE_APP_CHECKER)
29 SET(pkgs_requires "${pkgs_requires} app-checker app-checker-server")
30 SET(libpkgs_requires "${libpkgs_requires} app-checker")
31 ADD_DEFINITIONS("-D_APPFW_FEATURE_APP_CHECKER")
32 ENDIF(_APPFW_FEATURE_APP_CHECKER)
34 pkg_check_modules(pkgs REQUIRED ${pkgs_requires})
35 pkg_check_modules(libpkgs REQUIRED ${libpkgs_requires})
36 PKG_CHECK_MODULES(PKGS REQUIRED glib-2.0 gio-2.0 dlog bundle)
38 FIND_LIBRARY(LIB_DL dl)
40 FOREACH(flag ${libpkgs_CFLAGS})
41 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
44 FOREACH(flag ${pkgs_CFLAGS})
45 SET(TEST_CFLAGS "${TEST_CFLAGS} ${flag}")
49 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
50 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/legacy)
51 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/feature)
52 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs" )
53 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
54 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic")
55 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fdata-sections -ffunction-sections -Wl,--gc-sections")
56 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -D_FILE_OFFSET_BITS=64")
57 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
58 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${TEST_CFLAGS}")
59 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
60 SET(CMAKE_C_FLAGS_RELEASE "-O2")
62 SET(CMAKE_SKIP_BUILD_RPATH true)
64 # Get uname value to set 'TARGET' definition
65 # TODO: Is this needed?
66 FIND_PROGRAM(UNAME NAMES uname)
67 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
68 IF("${ARCH}" STREQUAL "arm")
69 ADD_DEFINITIONS("-DTARGET")
70 MESSAGE("add -DTARGET")
71 ENDIF("${ARCH}" STREQUAL "arm")
73 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
74 ADD_DEFINITIONS("-DSHARE_PREFIX=\"/usr/share/aul\"")
75 IF(_APPFW_FEATURE_PROCESS_POOL)
76 ADD_DEFINITIONS("-D_APPFW_FEATURE_PROCESS_POOL")
77 ENDIF(_APPFW_FEATURE_PROCESS_POOL)
78 IF(_APPFW_FEATURE_PROCESS_POOL_COMMON)
79 ADD_DEFINITIONS("-D_APPFW_FEATURE_PROCESS_POOL_COMMON")
80 ENDIF(_APPFW_FEATURE_PROCESS_POOL_COMMON)
81 IF(_APPFW_FEATURE_PROCESS_POOL_HW_RENDERING)
82 ADD_DEFINITIONS("-D_APPFW_FEATURE_PROCESS_POOL_HW_RENDERING")
83 ENDIF(_APPFW_FEATURE_PROCESS_POOL_HW_RENDERING)
84 IF(_APPFW_FEATURE_MULTI_INSTANCE)
85 ADD_DEFINITIONS("-D_APPFW_FEATURE_MULTI_INSTANCE")
86 ENDIF(_APPFW_FEATURE_MULTI_INSTANCE)
87 IF(_APPFW_FEATURE_MULTI_WINDOW)
88 ADD_DEFINITIONS("-D_APPFW_FEATURE_MULTI_WINDOW")
89 ENDIF(_APPFW_FEATURE_MULTI_WINDOW)
90 IF(_APPFW_FEATURE_CHANGEABLE_COLOR)
91 ADD_DEFINITIONS("-D_APPFW_FEATURE_CHANGEABLE_COLOR")
92 ENDIF(_APPFW_FEATURE_CHANGEABLE_COLOR)
93 IF(_APPFW_FEATURE_CPU_BOOST)
94 ADD_DEFINITIONS("-D_APPFW_FEATURE_CPU_BOOST")
95 ENDIF(_APPFW_FEATURE_CPU_BOOST)
96 IF(_APPFW_FEATURE_CONTACT_PHONE_AS_ONE_APP)
97 ADD_DEFINITIONS("-D_APPFW_FEATURE_CONTACT_PHONE_AS_ONE_APP")
98 ENDIF(_APPFW_FEATURE_CONTACT_PHONE_AS_ONE_APP)
99 IF(_APPFW_FEATURE_PRIORITY_CHANGE)
100 ADD_DEFINITIONS("-D_APPFW_FEATURE_PRIORITY_CHANGE")
101 ENDIF(_APPFW_FEATURE_PRIORITY_CHANGE)
102 IF(_APPFW_FEATURE_DATA_CONTROL)
103 ADD_DEFINITIONS("-D_APPFW_FEATURE_DATA_CONTROL")
104 ENDIF(_APPFW_FEATURE_DATA_CONTROL)
105 IF(_APPFW_FEATURE_DEBUG_LAUNCHPAD)
106 ADD_DEFINITIONS("-D_APPFW_FEATURE_DEBUG_LAUNCHPAD")
107 ENDIF(_APPFW_FEATURE_DEBUG_LAUNCHPAD)
108 IF(_APPFW_FEATURE_APP_CONTROL_LITE)
109 ADD_DEFINITIONS("-D_APPFW_FEATURE_APP_CONTROL_LITE")
110 ENDIF(_APPFW_FEATURE_APP_CONTROL_LITE)
111 IF(_APPFW_FEATURE_NATIVE_LAUNCHPAD)
112 ADD_DEFINITIONS("-D_APPFW_FEATURE_NATIVE_LAUNCHPAD")
113 ENDIF(_APPFW_FEATURE_NATIVE_LAUNCHPAD)
114 IF(_APPFW_FEATURE_WMS_CONNECTION_CHECK)
115 ADD_DEFINITIONS("-D_APPFW_FEATURE_WMS_CONNECTION_CHECK")
116 ENDIF(_APPFW_FEATURE_WMS_CONNECTION_CHECK)
117 IF(_APPFW_FEATURE_BG_PROCESS_LIMIT)
118 ADD_DEFINITIONS("-D_APPFW_FEATURE_BG_PROCESS_LIMIT")
119 ENDIF(_APPFW_FEATURE_BG_PROCESS_LIMIT)
120 IF(_APPFW_FEATURE_TTS_MODE)
121 ADD_DEFINITIONS("-D_APPFW_FEATURE_TTS_MODE")
122 ENDIF(_APPFW_FEATURE_TTS_MODE)
123 IF(_APPFW_FEATURE_ULTRA_POWER_SAVING_MODE)
124 ADD_DEFINITIONS("-D_APPFW_FEATURE_ULTRA_POWER_SAVING_MODE")
125 ENDIF(_APPFW_FEATURE_ULTRA_POWER_SAVING_MODE)
126 IF(_APPFW_FEATURE_VISIBILITY_CHECK_BY_LCD_STATUS)
127 ADD_DEFINITIONS("-D_APPFW_FEATURE_VISIBILITY_CHECK_BY_LCD_STATUS")
128 ENDIF(_APPFW_FEATURE_VISIBILITY_CHECK_BY_LCD_STATUS)
131 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
136 # aul_mods : modules (static library)
137 add_library(aul_mods STATIC
142 # launchpad_common (static library)
143 ADD_LIBRARY(launchpad_common STATIC
144 launchpad_src/util_x.c
148 add_library(aul SHARED
152 src/launch_with_result.c
162 target_link_libraries(aul aul_mods ${libpkgs_LDFLAGS})
163 SET_TARGET_PROPERTIES(aul PROPERTIES SOVERSION ${VERSION_MAJOR})
164 SET_TARGET_PROPERTIES(aul PROPERTIES VERSION ${VERSION})
166 # launchpad(old avatar) daemon
167 SET(AVATAR_NAME "launchpad_preloading_preinitializing_daemon")
168 add_executable(${AVATAR_NAME}
169 launchpad_src/launchpad.c
172 MESSAGE(" "${pkgs_LDFLAGS})
173 target_link_libraries(${AVATAR_NAME} aul_mods launchpad_common aul ${pkgs_LDFLAGS} ${LIB_DL} "-pie")
174 set_target_properties(${AVATAR_NAME}
175 PROPERTIES SKIP_BUILD_RPATH true
176 ) # remove rpath option that is automatically generated by cmake.
181 am_daemon/amd_request.c
182 am_daemon/amd_appinfo.c
183 am_daemon/amd_cgutil.c
184 am_daemon/amd_launch.c
185 am_daemon/amd_status.c
187 target_link_libraries(amd aul_mods rua glib-2.0 bundle ail aul utilX ${pkgs_LDFLAGS} "-pie")
189 SET(REL_AGENT daemon-manager-release-agent)
190 ADD_EXECUTABLE(${REL_AGENT} agent/${REL_AGENT}.c)
191 TARGET_LINK_LIBRARIES(${REL_AGENT} ${PKGS_LDFLAGS} "-pie" aul aul_mods)
192 SET_TARGET_PROPERTIES(${REL_AGENT} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS} -fPIE")
194 INSTALL(TARGETS ${REL_AGENT} DESTINATION bin)
196 SET(LAUNCH_AGENT daemon-manager-launch-agent)
197 ADD_EXECUTABLE(${LAUNCH_AGENT} agent/${LAUNCH_AGENT}.c)
198 TARGET_LINK_LIBRARIES(${LAUNCH_AGENT} ${PKGS_LDFLAGS} "-pie")
199 SET_TARGET_PROPERTIES(${LAUNCH_AGENT} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS} -fPIE")
201 INSTALL(TARGETS ${LAUNCH_AGENT} DESTINATION bin)
206 CONFIGURE_FILE(aul.pc.in aul.pc @ONLY)
210 INSTALL(TARGETS aul DESTINATION lib COMPONENT RuntimeLibraries)
211 INSTALL(TARGETS ${AVATAR_NAME} DESTINATION bin)
212 INSTALL(TARGETS amd DESTINATION bin)
214 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/aul.h DESTINATION include/aul)
215 IF (_APPFW_FEATURE_DEFAULT_FAKE_IMAGE)
216 ADD_DEFINITIONS("-D_APPFW_FEATURE_DEFAULT_FAKE_IMAGE")
217 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/config_splash.sh DESTINATION bin)
218 ENDIF(_APPFW_FEATURE_DEFAULT_FAKE_IMAGE)
219 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/aul.pc DESTINATION lib/pkgconfig)
221 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/legacy/preload_list.txt DESTINATION /usr/share/aul )
222 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/feature/preexec_list.txt DESTINATION /usr/share/aul )
223 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/miregex DESTINATION /usr/share/aul )
225 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/app_sock.h DESTINATION include/aul/launch)
226 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/simple_util.h DESTINATION include/aul/launch)
227 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/menu_db_util.h DESTINATION include/aul/launch)
228 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/app_signal.h DESTINATION include/aul/launch)
229 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/aul_util.h DESTINATION include/aul/launch)
230 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/access_control.h DESTINATION include/aul/launch)
231 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/perf.h DESTINATION include/aul/launch)
232 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/feature/preexec.h DESTINATION include/aul/launchpad)
233 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/legacy/preload.h DESTINATION include/aul/launchpad)
234 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/launchpad_src/ DESTINATION include/aul/launchpad FILES_MATCHING PATTERN "*.h")
235 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libaul_mods.a DESTINATION lib)
236 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblaunchpad_common.a DESTINATION lib)
239 add_subdirectory(test)