1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(batterymonitor-svcd C)
4 SET(DAEMON batterymonitor-svcd)
7 pkg_check_modules(pkgs REQUIRED
19 capi-appfw-job-scheduler
22 capi-network-wifi-manager
23 capi-network-bluetooth
24 capi-network-connection
31 OUTPUT battery_monitor_stub.c
32 COMMAND gdbus-codegen --interface-prefix org.tizen.
33 --generate-c-code battery_monitor_stub packaging/battery-monitor.xml
34 COMMENT "Generating Battery-Monitor Client GDBus .c/.h")
36 FOREACH(flag ${pkgs_CFLAGS})
37 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -Wall")
41 ./battery_monitor_stub.c
42 src/bm_config_parser.c
44 src/bm_plugin_manager.c
45 src/bm_callback_handler.c
49 src/battery_dump/bd_history_item.c
50 src/battery_dump/bm_listeners.c
53 IF("${DUMP_DUMMY}" STREQUAL "ON")
54 SET(SRCS ${SRCS} src/battery_dump/bd_history_item_dummy.c)
57 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
59 INSTALL(FILES ${CMAKE_SOURCE_DIR}/battery_monitor_stub.h DESTINATION include)
61 SET(RELO_FLAGS "-D_FORTIFY_SOURCE=2 -Wl,-z,relro")
62 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${RELO_FLAGS} -fPIE -fPIC -Wall -Werror")
63 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
64 SET(CMAKE_C_FLAGS_RELEASE "-O2")
65 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
67 ADD_EXECUTABLE(${DAEMON} ${SRCS})
69 TARGET_LINK_LIBRARIES(${DAEMON} ${pkgs_LDFLAGS} -ldl)
71 INSTALL(TARGETS ${DAEMON} DESTINATION bin)
73 TARGET_LINK_LIBRARIES(${DAEMON} -ldl)