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} )