~chunsang/+junk/powerd

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
project(powerd)
cmake_minimum_required(VERSION 2.8.9)

set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")

if (NOT CMAKE_BUILD_TYPE)
    message(STATUS "No build type selected, default to Release")
    set(CMAKE_BUILD_TYPE "Release")
endif()

set(CMAKE_C_FLAGS "-Wall")
set(CMAKE_CXX_FLAGS "-Wall -std=c++11")
set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb -g")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb -g")
set(CMAKE_C_FLAGS_RELEASE "-O3")
set(CMAKE_CXX_FLAGS_RELEASE "-O3")

set(GDBUS_NAME powerd-dbus)

find_package(Threads REQUIRED)

find_package(PkgConfig)
pkg_check_modules(ANDROID_HEADERS android-headers)
pkg_check_modules(GLIB glib-2.0)
pkg_check_modules(GIO gio-2.0)
pkg_check_modules(GIO-UNIX gio-unix-2.0)
pkg_check_modules(UPOWER_GLIB upower-glib)
pkg_check_modules(UUID uuid)

set(POWERD_GENERATED_SOURCES
  ${GDBUS_NAME}.c
)
set(POWERD_GENERATED_HEADERS
  ${GDBUS_NAME}.h
)
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/src/${POWERD_GENERATED_SOURCES} PROPERTIES GENERATED 1)

set(POWERD_DEVICE_CONFIGS_PATH "${CMAKE_INSTALL_PREFIX}/share/powerd/device_configs")
FILE(GLOB device_config_files "${CMAKE_CURRENT_SOURCE_DIR}/data/device_configs/*.xml")
add_definitions(-DPOWERD_DEVICE_CONFIGS_PATH=\"${POWERD_DEVICE_CONFIGS_PATH}\")

set(
  SRCS

  src/powerd.cpp
  src/display.c
  src/autobrightness.c
  src/backlight.c
  src/device-config.c
  src/log.c
  src/power-request.c
  src/power-source.c
  src/powerd-client.c
  src/powerd-object.c
  src/powerd-sensors.cpp
  src/powerd-proximity.cpp
  src/spline.c
  src/stats.c
  src/util.c
  src/wakeup.cpp
  src/${GDBUS_NAME}.c
)

link_directories(
  ${GLIB_LIBRARY_DIRS}
  ${GIO_LIBRARY_DIRS}
  ${GIO-UNIX_LIBRARY_DIRS}
  ${UPOWER_GLIB_LIBRARY_DIRS}
  ${UUID_LIBRARY_DIRS}
)

include_directories(
  ${ANDROID_HEADERS_INCLUDE_DIRS}
  ${GLIB_INCLUDE_DIRS}
  ${GIO_INCLUDE_DIRS}
  ${GIO-UNIX_INCLUDE_DIRS}
  ${UPOWER_GLIB_INCLUDE_DIRS}
  ${UUID_INCLUDE_DIRS}
  ${PROJECT_SOURCE_DIR}/libsuspend
  ${CMAKE_CURRENT_BINARY_DIR}/src
)

add_subdirectory(libsuspend)
add_subdirectory(src)
add_subdirectory(cli)

add_executable(
  powerd

  ${SRCS}
)

add_dependencies(
  powerd

  dbus_bindings
)

target_link_libraries(
  powerd
  suspend

  ${CMAKE_THREAD_LIBS_INIT}
  ${GLIB_LIBRARIES}
  ${GIO_LIBRARIES}
  ${GIO-UNIX_LIBRARIES}
  ${PHABLET_LIBRARIES}
  "-lubuntu_platform_hardware_api"
  "-lubuntu_application_api"
  "-landroid-properties"
  "-lhardware"
  ${UPOWER_GLIB_LIBRARIES}
  ${UUID_LIBRARIES}
)

install(
  TARGETS powerd
  RUNTIME DESTINATION bin
  LIBRARY DESTINATION lib
  ARCHIVE DESTINATION lib/static
)

install(
  FILES ${device_config_files}
  DESTINATION ${POWERD_DEVICE_CONFIGS_PATH}
)