diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt index 96cc9b7b..9c66bb40 100644 --- a/daemon/CMakeLists.txt +++ b/daemon/CMakeLists.txt @@ -1,170 +1,176 @@ add_definitions(-DTRANSLATION_DOMAIN=\"powerdevil\" -DQT_USE_QSTRINGBUILDER) include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) add_subdirectory(actions) set(POWERDEVIL_CORE_VERSION_MAJOR 2) set(POWERDEVIL_CORE_VERSION_MINOR 0) set(POWERDEVIL_CORE_VERSION_MICRO 0) set(POWERDEVIL_CORE_VERSION_STRING ${POWERDEVIL_CORE_VERSION_MAJOR}.${POWERDEVIL_CORE_VERSION_MINOR}.${POWERDEVIL_CORE_VERSION_MICRO}) ecm_setup_version(${POWERDEVIL_CORE_VERSION_STRING} VARIABLE_PREFIX POWERDEVIL VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/powerdevil_version.h" ) # Add bundled actions set(powerdevil_bundled_actions_SRCS powerdevil_debug.cpp actions/bundled/suspendsession.cpp actions/bundled/brightnesscontrol.cpp actions/bundled/keyboardbrightnesscontrol.cpp actions/bundled/dimdisplay.cpp actions/bundled/runscript.cpp actions/bundled/handlebuttonevents.cpp ) if(HAVE_WIRELESS_SUPPORT) set(powerdevil_bundled_actions_SRCS ${powerdevil_bundled_actions_SRCS} actions/bundled/wirelesspowersaving.cpp ) endif() # target no.1 - powerdevil core library set(powerdevilcore_SRCS powerdevil_debug.cpp powerdevilaction.cpp powerdevilactionpool.cpp powerdevilbackendinterface.cpp powerdevilcore.cpp powerdevilpolicyagent.cpp powerdevilprofilegenerator.cpp powerdevilbrightnesslogic.cpp powerdevilscreenbrightnesslogic.cpp powerdevilkeyboardbrightnesslogic.cpp powerdevilpowermanagement.cpp brightnessosdwidget.cpp kwinkscreenhelpereffect.cpp ) ecm_qt_declare_logging_category(powerdevilcore_SRCS HEADER powerdevil_debug.h IDENTIFIER POWERDEVIL CATEGORY_NAME org.kde.powerdevil DEFAULT_SEVERITY Warning) kconfig_add_kcfg_files(powerdevilcore_SRCS ../PowerDevilSettings.kcfgc) # Action DBus Adaptors qt5_add_dbus_adaptor(powerdevilcore_SRCS actions/bundled/org.kde.Solid.PowerManagement.Actions.BrightnessControl.xml actions/bundled/brightnesscontrol.h PowerDevil::BundledActions::BrightnessControl) qt5_add_dbus_adaptor(powerdevilcore_SRCS actions/bundled/org.kde.Solid.PowerManagement.Actions.KeyboardBrightnessControl.xml actions/bundled/keyboardbrightnesscontrol.h PowerDevil::BundledActions::KeyboardBrightnessControl) qt5_add_dbus_adaptor(powerdevilcore_SRCS actions/bundled/org.kde.Solid.PowerManagement.Actions.HandleButtonEvents.xml actions/bundled/handlebuttonevents.h PowerDevil::BundledActions::HandleButtonEvents) qt5_add_dbus_adaptor(powerdevilcore_SRCS actions/bundled/org.kde.Solid.PowerManagement.Actions.SuspendSession.xml actions/bundled/suspendsession.h PowerDevil::BundledActions::SuspendSession) if(HAVE_WIRELESS_SUPPORT) qt5_add_dbus_adaptor(powerdevilcore_SRCS actions/bundled/org.kde.Solid.PowerManagement.Actions.WirelessPowerSaving.xml actions/bundled/wirelesspowersaving.h PowerDevil::BundledActions::WirelessPowerSaving) endif() qt5_add_dbus_interface(powerdevilcore_SRCS org.freedesktop.ScreenSaver.xml screenlocker_interface) add_library(powerdevilcore SHARED ${powerdevilcore_SRCS} ${powerdevil_bundled_actions_SRCS}) set_target_properties(powerdevilcore PROPERTIES VERSION ${POWERDEVIL_CORE_VERSION_STRING} SOVERSION ${POWERDEVIL_CORE_VERSION_MAJOR}) # not exported, so just make the deps public target_link_libraries(powerdevilcore KF5::Activities KF5::ConfigCore KF5::ConfigGui KF5::DBusAddons KF5::I18n KF5::Solid KF5::IdleTime KF5::GlobalAccel KF5::Screen KF5::Service KF5::WidgetsAddons KF5::Notifications KF5::XmlGui PW::KWorkspace ) if(HAVE_WIRELESS_SUPPORT) target_link_libraries(powerdevilcore KF5::NetworkManagerQt KF5::BluezQt ) endif() if (XCB_FOUND) # kwin kscreen helper effect target_link_libraries(powerdevilcore Qt5::X11Extras XCB::XCB) endif () # target no.2 - powerdevil kded module set(powerdevil_SRCS powerdevil_debug.cpp powerdevilapp.cpp powerdevilfdoconnector.cpp ) # DBus Adaptors qt5_add_dbus_adaptor(powerdevil_SRCS org.kde.Solid.PowerManagement.xml powerdevilcore.h PowerDevil::Core) qt5_add_dbus_adaptor(powerdevil_SRCS org.kde.Solid.PowerManagement.PolicyAgent.xml powerdevilpolicyagent.h PowerDevil::PolicyAgent powermanagementpolicyagentadaptor PowerManagementPolicyAgentAdaptor) qt5_add_dbus_adaptor(powerdevil_SRCS org.freedesktop.PowerManagement.xml powerdevilfdoconnector.h PowerDevil::FdoConnector powermanagementfdoadaptor PowerManagementFdoAdaptor) qt5_add_dbus_adaptor(powerdevil_SRCS org.freedesktop.PowerManagement.Inhibit.xml powerdevilfdoconnector.h PowerDevil::FdoConnector powermanagementinhibitadaptor PowerManagementInhibitAdaptor) +# KAuth charge threshold helper +add_executable(chargethresholdhelper chargethresholdhelper.cpp powerdevil_debug.cpp ${chargethresholdhelper_mocs}) +target_link_libraries(chargethresholdhelper Qt5::Core KF5::AuthCore) +install(TARGETS chargethresholdhelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) +kauth_install_helper_files(chargethresholdhelper org.kde.powerdevil.chargethresholdhelper root) +kauth_install_actions(org.kde.powerdevil.chargethresholdhelper chargethreshold_helper_actions.actions) # Backends add_subdirectory(backends) add_executable(powerdevil ${powerdevil_SRCS}) set_target_properties(powerdevil PROPERTIES OUTPUT_NAME org_kde_powerdevil) configure_file(powerdevil.desktop.cmake ${CMAKE_CURRENT_BINARY_DIR}/powerdevil.desktop) target_link_libraries(powerdevil KF5::Crash KF5::ConfigCore KF5::CoreAddons KF5::I18n KF5::DBusAddons PW::KWorkspace powerdevilcore ) if (XCB_FOUND) target_link_libraries(powerdevil Qt5::X11Extras) endif () target_link_libraries(powerdevil ${UDEV_LIBS}) install(TARGETS powerdevil DESTINATION ${KDE_INSTALL_FULL_LIBEXECDIR}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/powerdevil.desktop DESTINATION ${KDE_INSTALL_AUTOSTARTDIR}) install(TARGETS powerdevilcore ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) # target no.3 - powerdevil ui library set(powerdevilui_SRCS powerdevilactionconfig.cpp ) add_library(powerdevilui ${powerdevilui_SRCS}) set_target_properties(powerdevilui PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}) # not exported, so just make the deps public target_link_libraries(powerdevilui PUBLIC Qt5::Widgets KF5::ConfigCore ) set(HAVE_XCB ${XCB_FOUND}) configure_file(config-powerdevil.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-powerdevil.h ) install(TARGETS powerdevilui ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) diff --git a/daemon/backends/CMakeLists.txt b/daemon/backends/CMakeLists.txt index 802c3ad0..05c4263e 100644 --- a/daemon/backends/CMakeLists.txt +++ b/daemon/backends/CMakeLists.txt @@ -1,76 +1,69 @@ ########################## UPower Backend ##################################### include_directories(${CMAKE_CURRENT_SOURCE_DIR}/upower ${X11_INCLUDE_DIR} ${X11_Xrandr_INCLUDE_PATH}) set(powerdevilupowerbackend_SRCS ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp upower/upowersuspendjob.cpp upower/login1suspendjob.cpp upower/powerdevilupowerbackend.cpp upower/xrandrbrightness.cpp upower/xrandrxcbhelper.cpp upower/udevqtclient.cpp upower/udevqtdevice.cpp upower/ddcutilbrightness.cpp ) set_source_files_properties( ${CMAKE_CURRENT_SOURCE_DIR}/upower/dbus/org.freedesktop.UPower.xml ${CMAKE_CURRENT_SOURCE_DIR}/upower/dbus/org.freedesktop.UPower.Device.xml PROPERTIES NO_NAMESPACE TRUE) qt5_add_dbus_interface(powerdevilupowerbackend_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/upower/dbus/org.freedesktop.UPower.xml upower_interface) qt5_add_dbus_interface(powerdevilupowerbackend_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/upower/dbus/org.freedesktop.UPower.Device.xml upower_device_interface) qt5_add_dbus_interface(powerdevilupowerbackend_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/upower/dbus/org.freedesktop.UPower.KbdBacklight.xml upower_kbdbacklight_interface) ## backlight helper executable add_executable(backlighthelper upower/backlighthelper.cpp ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp ${backlighthelper_mocs}) target_link_libraries(backlighthelper Qt5::Core KF5::AuthCore KF5::I18n) install(TARGETS backlighthelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) kauth_install_helper_files(backlighthelper org.kde.powerdevil.backlighthelper root) kauth_install_actions(org.kde.powerdevil.backlighthelper ${CMAKE_CURRENT_SOURCE_DIR}/upower/backlight_helper_actions.actions) ## discrete gpu helper executable add_executable(discretegpuhelper upower/discretegpuhelper.cpp ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp ${discretegpuhelper_mocs}) target_link_libraries(discretegpuhelper Qt5::Core KF5::AuthCore) install(TARGETS discretegpuhelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) kauth_install_helper_files(discretegpuhelper org.kde.powerdevil.discretegpuhelper root) kauth_install_actions(org.kde.powerdevil.discretegpuhelper ${CMAKE_CURRENT_SOURCE_DIR}/upower/discretegpu_helper_actions.actions) -## charge threshold helper executable -add_executable(chargethresholdhelper upower/chargethresholdhelper.cpp ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp ${chargethresholdhelper_mocs}) -target_link_libraries(chargethresholdhelper Qt5::Core KF5::AuthCore) -install(TARGETS chargethresholdhelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) -kauth_install_helper_files(chargethresholdhelper org.kde.powerdevil.chargethresholdhelper root) -kauth_install_actions(org.kde.powerdevil.chargethresholdhelper ${CMAKE_CURRENT_SOURCE_DIR}/upower/chargethreshold_helper_actions.actions) - add_library(powerdevilupowerbackend ${powerdevilupowerbackend_SRCS}) set_target_properties(powerdevilupowerbackend PROPERTIES PREFIX "") target_link_libraries(powerdevilupowerbackend Qt5::Widgets KF5::AuthCore KF5::ConfigCore KF5::CoreAddons KF5::DBusAddons KF5::I18n ${UDEV_LIBS} ${X11_LIBRARIES} ${X11_Xrandr_LIB} ${XCB_XCB_LIBRARY} ${XCB_RANDR_LIBRARY} powerdevilcore ) if(DDCUTIL_FOUND) target_link_libraries(powerdevilupowerbackend ${LIBDDCUTIL_LIBRARY}) endif() install(TARGETS powerdevilupowerbackend DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/powerdevil) diff --git a/daemon/backends/upower/chargethreshold_helper_actions.actions b/daemon/chargethreshold_helper_actions.actions similarity index 100% rename from daemon/backends/upower/chargethreshold_helper_actions.actions rename to daemon/chargethreshold_helper_actions.actions diff --git a/daemon/backends/upower/chargethresholdhelper.cpp b/daemon/chargethresholdhelper.cpp similarity index 100% rename from daemon/backends/upower/chargethresholdhelper.cpp rename to daemon/chargethresholdhelper.cpp diff --git a/daemon/backends/upower/chargethresholdhelper.h b/daemon/chargethresholdhelper.h similarity index 100% rename from daemon/backends/upower/chargethresholdhelper.h rename to daemon/chargethresholdhelper.h