1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 ########################################################
6 ########################################################
7 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
8 SET(EXEC_PREFIX "${PREFIX}/bin")
9 SET(INCLUDEDIR "${PREFIX}/include/${PROJECT_NAME}")
11 SET(PASS_HAL_NAME pass-hal-devel)
16 src/pass/pass-cpuhp-radiation.c
17 src/pass/pass-cpuhp-step.c
18 src/pass/pass-parser.c
20 src/pass/pass-rescon.c
21 src/pass/pass-resmon.c
22 src/pass/pass-resmon-source.c
24 src/pass/pass-thermal.c
26 src/pmqos/pmqos-parser.c
28 src/thermal/thermal-parser.c
31 src/core/config-parser.c
32 src/core/device-notifier.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
44 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
45 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
46 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
58 INCLUDE(FindPkgConfig)
59 pkg_check_modules(pkgs REQUIRED ${PKG_MODULES})
61 FOREACH(flag ${pkgs_CFLAGS})
62 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
65 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -fPIE")
66 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
67 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -lrt")
68 SET(CMAKE_EXE_LINKER_FLAGS "-pie")
70 ADD_DEFINITIONS("-DLOG_TAG=\"PASS\"")
71 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
72 ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
73 ADD_DEFINITIONS("-DLIBPATH=\"${LIB_INSTALL_DIR}\"")
76 OUTPUT src/pass/pass-dbus-stub.c
77 COMMAND gdbus-codegen --interface-prefix org.tizen.
78 --generate-c-code pass-dbus-stub
79 --output-directory src/pass/
81 COMMENT "Generating GDBus stub for core interface")
83 OUTPUT src/pmqos/pmqos-dbus-stub.c
84 COMMAND gdbus-codegen --interface-prefix org.tizen.
85 --generate-c-code pmqos-dbus-stub
86 --output-directory src/pmqos/
87 scripts/pmqos-dbus.xml
88 COMMENT "Generating GDBus stub for pmqos interface")
90 OUTPUT src/thermal/thermal-dbus-stub.c
91 COMMAND gdbus-codegen --interface-prefix org.tizen.
92 --generate-c-code thermal-dbus-stub
93 --output-directory src/thermal/
94 scripts/thermal-dbus.xml
95 COMMENT "Generating GDBus stub for thermal interface")
97 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
98 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl" "-lm")
99 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
100 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/${PROJECT_NAME}.conf DESTINATION /etc/dbus-1/system.d)
101 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/pass-pmqos.conf DESTINATION /etc/pass)
102 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/pass-thermal.conf DESTINATION /etc/pass)
103 INSTALL(FILES ${CMAKE_SOURCE_DIR}/systemd/org.tizen.system.pass.service DESTINATION /usr/share/dbus-1/system-services)
104 INSTALL(FILES ${CMAKE_SOURCE_DIR}/systemd/org.tizen.system.thermal.service DESTINATION /usr/share/dbus-1/system-services)
106 CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
107 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
108 CONFIGURE_FILE(${PASS_HAL_NAME}.pc.in ${PASS_HAL_NAME}.pc @ONLY)
109 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PASS_HAL_NAME}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
111 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/systemd/ DESTINATION lib/systemd/system
116 ADD_SUBDIRECTORY(src/hal)
117 ADD_SUBDIRECTORY(unittest)