1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 ########################################################
6 ########################################################
7 SET(EXEC_PREFIX "${CMAKE_INSTALL_PREFIX}/bin")
8 SET(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME}")
14 src/pass/pass-cpuhp-radiation.c
15 src/pass/pass-cpuhp-step.c
16 src/pass/pass-parser.c
18 src/pass/pass-rescon.c
19 src/pass/pass-resmon.c
20 src/pass/pass-resmon-source.c
22 src/pass/pass-thermal.c
24 src/pmqos/pmqos-parser.c
26 src/thermal/thermal-parser.c
28 src/util/device-notifier.c
37 #Generated by a custom command 'gdbus-codegen' below
38 src/pass/pass-dbus-stub.c
39 #Generated by a custom command 'gdbus-codegen' below
40 src/pmqos/pmqos-dbus-stub.c
41 #Generated by a custom command 'gdbus-codegen' below
42 src/thermal/thermal-dbus-stub.c
43 src/resource/resource-cpu.c
44 src/resource/resource-bus.c
45 src/resource/resource-gpu.c
46 src/resource/resource-memory.c
47 src/resource/resource-display.c
48 src/resource/resource-system.c
49 src/resource/resource-battery.c
50 src/resource/resource-process.c
51 src/resource/resource-process-group.c
52 src/resource/resource-disk.c
53 src/resource/resource-network.c
55 src/monitor/monitor-thread.c
56 src/monitor/monitor-command.c
57 src/monitor/request-handler.c
60 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
61 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
62 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
63 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib)
79 INCLUDE(FindPkgConfig)
80 pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
82 FOREACH(flag ${pkgs_CFLAGS})
83 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
86 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -fPIE")
87 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
88 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -lrt")
89 SET(CMAKE_EXE_LINKER_FLAGS "-pie")
90 SET(LIBDIR ${CMAKE_LIBDIR_PREFIX})
92 ADD_DEFINITIONS("-DLOG_TAG=\"PASS\"")
93 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
94 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
95 ADD_DEFINITIONS("-DLIBPATH=\"${LIBDIR}\"")
98 OUTPUT src/pass/pass-dbus-stub.c
99 COMMAND gdbus-codegen --interface-prefix org.tizen.
100 --generate-c-code pass-dbus-stub
101 --output-directory src/pass/
102 scripts/pass-dbus.xml
103 COMMENT "Generating GDBus stub for core interface")
105 OUTPUT src/pmqos/pmqos-dbus-stub.c
106 COMMAND gdbus-codegen --interface-prefix org.tizen.
107 --generate-c-code pmqos-dbus-stub
108 --output-directory src/pmqos/
109 scripts/pmqos-dbus.xml
110 COMMENT "Generating GDBus stub for pmqos interface")
112 OUTPUT src/thermal/thermal-dbus-stub.c
113 COMMAND gdbus-codegen --interface-prefix org.tizen.
114 --generate-c-code thermal-dbus-stub
115 --output-directory src/thermal/
116 scripts/thermal-dbus.xml
117 COMMENT "Generating GDBus stub for thermal interface")
119 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
120 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl -lm)
121 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
122 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/${PROJECT_NAME}.conf DESTINATION /etc/dbus-1/system.d)
123 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/pass-pmqos.json DESTINATION /etc/pass)
124 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/pass-thermal.json DESTINATION /etc/pass)
125 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/systemd/${PROJECT_NAME}.service.in ${CMAKE_SOURCE_DIR}/systemd/${PROJECT_NAME}.service @ONLY)
126 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/systemd/${PROJECT_NAME}-resource-monitor.socket.in ${CMAKE_SOURCE_DIR}/systemd/${PROJECT_NAME}-resource-monitor.socket @ONLY)
127 INSTALL(FILES ${CMAKE_SOURCE_DIR}/systemd/org.tizen.system.pass.service DESTINATION /usr/share/dbus-1/system-services)
128 INSTALL(FILES ${CMAKE_SOURCE_DIR}/systemd/org.tizen.system.thermal.service DESTINATION /usr/share/dbus-1/system-services)
130 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/systemd/ DESTINATION lib/systemd/system
132 PATTERN "${PROJECT_NAME}.service"
135 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/systemd/ DESTINATION lib/systemd/system
137 PATTERN "${PROJECT_NAME}-resource-monitor.socket"
140 ADD_SUBDIRECTORY(tests/integration-test)
141 ADD_SUBDIRECTORY(tests/haltest)
142 ADD_SUBDIRECTORY(tests/unittest)
144 ADD_SUBDIRECTORY(lib)
146 ADD_SUBDIRECTORY(tools/resource-monitor)