tizen 2.3.1 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")
16
17 message("${DEPS_PKGS}")
18
19 INCLUDE(FindPkgConfig)
20 pkg_check_modules(pkgs REQUIRED ${DEPS_PKGS})
21
22 FOREACH(flag ${pkgs_CFLAGS})
23         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -Wall -Wno-unused")
24 ENDFOREACH(flag)
25
26 FOREACH(flag ${pkgs_CFLAGS})
27         SET(TEST_CFLAGS "${TEST_CFLAGS} ${flag}")
28 ENDFOREACH(flag)
29
30 SET (${this_target}_SOURCE_FILES
31         alarm-manager-registry.c
32         alarm-manager-schedule.c
33         alarm-manager-timer.c
34         alarm-manager.c
35         )
36
37 ADD_CUSTOM_COMMAND(
38         WORKING_DIRECTORY
39         OUTPUT alarm-mgr-stub.c
40         COMMAND gdbus-codegen --interface-prefix org.tizen.
41                                 --generate-c-code alarm-mgr-stub
42                                 ./alarm_mgr.xml
43         COMMENT "Generating Server GDBus .c/.h")
44
45 ADD_EXECUTABLE (${this_target} ${${this_target}_SOURCE_FILES} alarm-mgr-stub.c)
46 ADD_DEPENDENCIES(${this_target} alarm)
47
48 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS} -fpie")
49 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -fvisibility=hidden")
50 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
51 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${TEST_CFLAGS}")
52
53 TARGET_LINK_LIBRARIES(${this_target} ${pkgs_LDFLAGS})
54 TARGET_LINK_LIBRARIES(${this_target} "-lrt -lm -pie")
55 TARGET_LINK_LIBRARIES(${this_target} alarm)
56
57 ADD_SUBDIRECTORY(src)
58 ADD_SUBDIRECTORY(tool)
59
60 INSTALL(TARGETS ${this_target} DESTINATION bin)
61 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/alarmmgr_log_dump.sh DESTINATION /opt/etc/dump.d/module.d)