tizen 2.4 release
[framework/appfw/alarm-manager.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET (this_target alarm-server)
4 SET (EXPORT_API "__attribute__ ((visibility(\"default\")))")
5
6 ADD_DEFINITIONS("-DEXPORT_API=${EXPORT_API}")
7
8 SET(CMAKE_EXECUTABLE_SUFFIX "")
9 SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/output")
10
11 INCLUDE_DIRECTORIES(
12         include
13 )
14
15 SET(DEPS_PKGS "glib-2.0 dlog aul bundle security-server db-util appsvc pkgmgr-info vconf gio-2.0 gio-unix-2.0 capi-system-device vasum eventsystem")
16
17 IF(_APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG)
18 ADD_DEFINITIONS("-D_APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG")
19 ADD_DEFINITIONS("-DALARMMGR_LOG_FILE_PATH=\"${_APPFW_ALARM_MANAGER_MODULE_LOG_PATH}\"")
20 ENDIF(_APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG)
21
22 message("${DEPS_PKGS}")
23
24 INCLUDE(FindPkgConfig)
25 pkg_check_modules(pkgs REQUIRED ${DEPS_PKGS})
26
27 FOREACH(flag ${pkgs_CFLAGS})
28         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -Wall -Wno-unused")
29 ENDFOREACH(flag)
30
31 FOREACH(flag ${pkgs_CFLAGS})
32         SET(TEST_CFLAGS "${TEST_CFLAGS} ${flag}")
33 ENDFOREACH(flag)
34
35 SET (${this_target}_SOURCE_FILES
36         alarm-manager-registry.c
37         alarm-manager-schedule.c
38         alarm-manager-timer.c
39         alarm-manager.c
40         )
41
42 ADD_CUSTOM_COMMAND(
43         WORKING_DIRECTORY
44         OUTPUT alarm-mgr-stub.c
45         COMMAND gdbus-codegen --interface-prefix org.tizen.
46                                 --generate-c-code alarm-mgr-stub
47                                 ./alarm_mgr.xml
48         COMMENT "Generating Server GDBus .c/.h")
49
50 ADD_EXECUTABLE (${this_target} ${${this_target}_SOURCE_FILES} alarm-mgr-stub.c)
51 ADD_DEPENDENCIES(${this_target} alarm)
52
53 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS} -fpie")
54 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -fvisibility=hidden")
55 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
56 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${TEST_CFLAGS}")
57
58 TARGET_LINK_LIBRARIES(${this_target} ${pkgs_LDFLAGS})
59 TARGET_LINK_LIBRARIES(${this_target} "-lrt -lm -pie")
60 TARGET_LINK_LIBRARIES(${this_target} alarm)
61
62 ADD_SUBDIRECTORY(src)
63
64 INSTALL(TARGETS ${this_target} DESTINATION bin)
65 IF(_APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG)
66         CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/alarmmgr_log_dump.sh.in ${CMAKE_CURRENT_SOURCE_DIR}/alarmmgr_log_dump.sh @ONLY)
67         INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/alarmmgr_log_dump.sh DESTINATION /opt/etc/dump.d/module.d)
68 ENDIF(_APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG)