pass: thermal: Fix typo in thermal_free()
[platform/core/system/pass.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(pass)
3
4 ########################################################
5 # PASS CMakeLists.txt
6 ########################################################
7 SET(EXEC_PREFIX "${CMAKE_INSTALL_PREFIX}/bin")
8 SET(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME}")
9 SET(VERSION 0.1.0)
10
11 SET(SRCS
12         src/pass/pass.c
13         src/pass/pass-cpuhp.c
14         src/pass/pass-cpuhp-radiation.c
15         src/pass/pass-cpuhp-step.c
16         src/pass/pass-parser.c
17         src/pass/pass-hal.c
18         src/pass/pass-rescon.c
19         src/pass/pass-resmon.c
20         src/pass/pass-resmon-source.c
21         src/pass/pass-pmqos.c
22         src/pass/pass-thermal.c
23         src/pmqos/pmqos.c
24         src/pmqos/pmqos-parser.c
25         src/thermal/thermal.c
26         src/thermal/thermal-parser.c
27         src/util/common.c
28         src/util/device-notifier.c
29         src/util/devices.c
30         src/util/gdbus-util.c
31         src/util/timer.c
32         src/util/thread.c
33         src/util/queue.c
34         src/util/kernel.c
35         src/main.c
36         #Generated by a custom command 'gdbus-codegen' below
37         src/pass/pass-dbus-stub.c
38         #Generated by a custom command 'gdbus-codegen' below
39         src/pmqos/pmqos-dbus-stub.c
40         #Generated by a custom command 'gdbus-codegen' below
41         src/thermal/thermal-dbus-stub.c
42         src/resource/resource-cpu.c
43         src/resource/resource-bus.c
44         src/resource/resource-gpu.c
45         src/resource/resource-memory.c
46         src/resource/resource-display.c
47         src/resource/resource-system.c
48         src/resource/resource-battery.c
49         src/resource/resource-process.c
50         src/resource/resource-process-group.c
51         src/resource/resource-disk.c
52         src/resource/resource-network.c
53         src/monitor/monitor.c
54         src/monitor/monitor-thread.c
55         src/monitor/monitor-command.c
56         src/monitor/request-handler.c
57         #Generated by a custom command 'gdbus-codegen' below
58         src/monitor/monitor-dbus-stub.c
59 )
60
61 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
62 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
63 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
64 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib)
65
66 SET(PKG_MODULES
67         dlog
68         glib-2.0
69         dbus-1
70         gio-2.0
71         gio-unix-2.0
72         libudev
73         libsystemd
74         libsyscommon
75         libnl-3.0
76         libnl-genl-3.0
77         json-c
78         hal-api-power
79 )
80
81 INCLUDE(FindPkgConfig)
82 pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
83
84 FOREACH(flag ${pkgs_CFLAGS})
85         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
86 ENDFOREACH(flag)
87
88 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -fPIE")
89 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
90 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -lrt")
91 SET(CMAKE_EXE_LINKER_FLAGS "-pie")
92 SET(LIBDIR ${CMAKE_LIBDIR_PREFIX})
93
94 ADD_DEFINITIONS("-DLOG_TAG=\"PASS\"")
95 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
96 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
97 ADD_DEFINITIONS("-DLIBPATH=\"${LIBDIR}\"")
98
99 ADD_CUSTOM_COMMAND(
100         OUTPUT src/pass/pass-dbus-stub.c
101         COMMAND gdbus-codegen --interface-prefix org.tizen.
102                                 --generate-c-code pass-dbus-stub
103                                 --output-directory src/pass/
104                                 scripts/pass-dbus.xml
105         COMMENT "Generating GDBus stub for core interface")
106 ADD_CUSTOM_COMMAND(
107         OUTPUT src/pmqos/pmqos-dbus-stub.c
108         COMMAND gdbus-codegen --interface-prefix org.tizen.
109                                 --generate-c-code pmqos-dbus-stub
110                                 --output-directory src/pmqos/
111                                 scripts/pmqos-dbus.xml
112         COMMENT "Generating GDBus stub for pmqos interface")
113 ADD_CUSTOM_COMMAND(
114         OUTPUT src/thermal/thermal-dbus-stub.c
115         COMMAND gdbus-codegen --interface-prefix org.tizen.
116                                 --generate-c-code thermal-dbus-stub
117                                 --output-directory src/thermal/
118                                 scripts/thermal-dbus.xml
119         COMMENT "Generating GDBus stub for thermal interface")
120 ADD_CUSTOM_COMMAND(
121         OUTPUT src/monitor/monitor-dbus-stub.c
122         COMMAND gdbus-codegen --interface-prefix org.tizen.
123                                 --generate-c-code monitor-dbus-stub
124                                 --output-directory src/monitor/
125                                 scripts/monitor-dbus.xml
126         COMMENT "Generating GDBus stub for monitor interface")
127
128 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
129 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl -lm)
130 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
131 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/${PROJECT_NAME}.conf DESTINATION /etc/dbus-1/system.d)
132 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/pass-pmqos.json DESTINATION /etc/pass)
133 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/pass-thermal.json DESTINATION /etc/pass)
134 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/systemd/${PROJECT_NAME}.service.in ${CMAKE_SOURCE_DIR}/systemd/${PROJECT_NAME}.service @ONLY)
135 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/systemd/${PROJECT_NAME}-resource-monitor.socket.in ${CMAKE_SOURCE_DIR}/systemd/${PROJECT_NAME}-resource-monitor.socket @ONLY)
136 INSTALL(FILES ${CMAKE_SOURCE_DIR}/systemd/org.tizen.system.pass.service DESTINATION /usr/share/dbus-1/system-services)
137 INSTALL(FILES ${CMAKE_SOURCE_DIR}/systemd/org.tizen.system.thermal.service DESTINATION /usr/share/dbus-1/system-services)
138
139 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/systemd/ DESTINATION lib/systemd/system
140                 FILES_MATCHING
141                 PATTERN "${PROJECT_NAME}.service"
142                 )
143
144 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/systemd/ DESTINATION lib/systemd/system
145                 FILES_MATCHING
146                 PATTERN "${PROJECT_NAME}-resource-monitor.socket"
147                 )
148
149 ADD_SUBDIRECTORY(tests/integration-test)
150 ADD_SUBDIRECTORY(tests/haltest)
151 ADD_SUBDIRECTORY(tests/unittest/pass-hal-and-parser)
152 ADD_SUBDIRECTORY(tests/unittest/pass-rescon)
153 ADD_SUBDIRECTORY(tests/unittest/pass-resmon)
154
155 ADD_SUBDIRECTORY(lib)
156
157 ADD_SUBDIRECTORY(tools/resource-monitor)