[Non-ACR] provide only name of pid
[platform/core/system/batterymonitor.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(batterymonitor-svcd C)
3
4 SET(DAEMON batterymonitor-svcd)
5
6 INCLUDE(FindPkgConfig)
7 pkg_check_modules(pkgs REQUIRED
8         dlog
9         gio-2.0
10         gio-unix-2.0
11         libtzplatform-config
12         sqlite3
13         db-util
14         capi-system-info
15         capi-system-runtime-info
16         cynara-client
17         cynara-session
18         cynara-creds-gdbus
19         json-c
20         capi-appfw-job-scheduler
21         capi-system-device
22         dumpsys-system
23         capi-network-wifi-manager
24         capi-network-bluetooth
25         capi-network-connection
26         vconf
27         tapi
28         capi-appfw-app-manager
29 )
30
31 ADD_CUSTOM_COMMAND(
32         WORKING_DIRECTORY
33         OUTPUT battery_monitor_stub.c
34         COMMAND gdbus-codegen --interface-prefix org.tizen.
35         --generate-c-code battery_monitor_stub packaging/battery-monitor.xml
36         COMMENT "Generating Battery-Monitor Client  GDBus .c/.h")
37
38 FOREACH(flag ${pkgs_CFLAGS})
39         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -Wall")
40 ENDFOREACH(flag)
41
42 SET(SRCS
43         ./battery_monitor_stub.c
44         src/bm_config_parser.c
45         src/bm_power_engine.c
46         src/bm_plugin_manager.c
47         src/bm_callback_handler.c
48         src/bm_server_db.c
49         src/bm_util.c
50         src/bm_server.c
51         src/battery_dump/bd_history_item.c
52         src/battery_dump/bm_listeners.c
53 )
54
55 IF("${DUMP_DUMMY}" STREQUAL "ON")
56         SET(SRCS ${SRCS} src/battery_dump/bd_history_item_dummy.c)
57 ENDIF()
58
59 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
60
61 INSTALL(FILES ${CMAKE_SOURCE_DIR}/battery_monitor_stub.h DESTINATION include)
62
63 SET(RELO_FLAGS "-D_FORTIFY_SOURCE=2 -Wl,-z,relro")
64 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${RELO_FLAGS} -fPIE -fPIC -Wall -Werror")
65 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
66 SET(CMAKE_C_FLAGS_RELEASE "-O2")
67 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
68
69 ADD_EXECUTABLE(${DAEMON} ${SRCS})
70
71 TARGET_LINK_LIBRARIES(${DAEMON} ${pkgs_LDFLAGS} -ldl)
72
73 INSTALL(TARGETS ${DAEMON} DESTINATION bin)
74
75 TARGET_LINK_LIBRARIES(${DAEMON} -ldl)