Warning, /plasma/powerdevil/daemon/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 add_definitions(-DTRANSLATION_DOMAIN=\"powerdevil\" -DQT_USE_QSTRINGBUILDER) 0002 0003 include_directories(${CMAKE_CURRENT_SOURCE_DIR} 0004 ${CMAKE_CURRENT_BINARY_DIR}) 0005 0006 add_subdirectory(actions) 0007 0008 # target no.1 - powerdevil core library 0009 set(powerdevilcore_SRCS 0010 powerdevil_debug.cpp 0011 powerdevilaction.cpp 0012 powerdevilcore.cpp 0013 powerdevilenums.cpp 0014 powerdevilmigrateconfig.cpp 0015 powerdevilpolicyagent.cpp 0016 powerdevilbrightnesslogic.cpp 0017 powerdevilscreenbrightnesslogic.cpp 0018 powerdevilkeyboardbrightnesslogic.cpp 0019 powerdevilpowermanagement.cpp 0020 powerdevilsettingsdefaults.cpp 0021 brightnessosdwidget.cpp 0022 kwinkscreenhelpereffect.cpp 0023 upowerdevice.cpp 0024 controllers/lidcontroller.cpp 0025 controllers/batterycontroller.cpp 0026 controllers/suspendcontroller.cpp 0027 controllers/keyboardbrightnesscontroller.cpp 0028 controllers/screenbrightnesscontroller.cpp 0029 controllers/backlightbrightness.cpp 0030 controllers/ddcutilbrightness.cpp 0031 controllers/ddcutildisplay.cpp 0032 controllers/udevqtclient.cpp 0033 controllers/udevqtdevice.cpp 0034 ) 0035 0036 add_library(powerdevil_log_static STATIC) 0037 set_property(TARGET powerdevil_log_static PROPERTY POSITION_INDEPENDENT_CODE ON) 0038 target_link_libraries(powerdevil_log_static Qt::Core) 0039 ecm_qt_declare_logging_category(powerdevil_log_static 0040 HEADER powerdevil_debug.h 0041 IDENTIFIER POWERDEVIL 0042 CATEGORY_NAME org.kde.powerdevil 0043 DEFAULT_SEVERITY Warning 0044 DESCRIPTION "Powerdevil" EXPORT POWERDEVIL 0045 ) 0046 0047 kconfig_add_kcfg_files(powerdevilcore_SRCS 0048 ${CMAKE_SOURCE_DIR}/PowerDevilGlobalSettings.kcfgc 0049 ${CMAKE_SOURCE_DIR}/PowerDevilProfileSettings.kcfgc 0050 ${CMAKE_SOURCE_DIR}/PowerDevilActivitySettings.kcfgc 0051 GENERATE_MOC 0052 ) 0053 0054 # Action DBus Adaptors 0055 0056 set_source_files_properties( 0057 dbus/org.freedesktop.UPower.xml 0058 dbus/org.freedesktop.UPower.Device.xml 0059 PROPERTIES NO_NAMESPACE TRUE 0060 ) 0061 0062 qt_add_dbus_interface(powerdevilcore_SRCS dbus/org.freedesktop.ScreenSaver.xml screenlocker_interface) 0063 0064 qt_add_dbus_interface(powerdevilcore_SRCS dbus/org.freedesktop.UPower.xml upower_interface) 0065 0066 qt_add_dbus_interface(powerdevilcore_SRCS dbus/org.freedesktop.UPower.KbdBacklight.xml upower_kbdbacklight_interface) 0067 0068 add_library(powerdevilcore SHARED ${powerdevilcore_SRCS}) 0069 set_target_properties(powerdevilcore PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION 2) 0070 0071 generate_export_header(powerdevilcore) 0072 0073 # not exported, so just make the deps public 0074 target_link_libraries(powerdevilcore 0075 Plasma::Activities 0076 Qt::DBus 0077 PW::KWorkspace 0078 KF6::CoreAddons 0079 KF6::AuthCore 0080 KF6::ConfigCore 0081 KF6::ConfigGui 0082 KF6::DBusAddons 0083 KF6::I18n 0084 KF6::Solid 0085 KF6::IdleTime 0086 KF6::GlobalAccel 0087 KF6::Screen 0088 KF6::Service 0089 KF6::Notifications 0090 KF6::XmlGui 0091 KF6::KirigamiPlatform 0092 XCB::DPMS 0093 powerdevil_log_static 0094 ${UDEV_LIBS} 0095 ) 0096 0097 if (XCB_FOUND) # kwin kscreen helper effect 0098 target_link_libraries(powerdevilcore XCB::XCB Qt::GuiPrivate) 0099 endif () 0100 0101 if(DDCUTIL_FOUND) 0102 target_link_libraries(powerdevilcore ${LIBDDCUTIL_LIBRARY}) 0103 endif() 0104 0105 # target no.2 - powerdevil kded module 0106 set(powerdevil_SRCS 0107 powerdevil_debug.cpp 0108 powerdevilapp.cpp 0109 powerdevilfdoconnector.cpp 0110 ) 0111 0112 # DBus Adaptors 0113 qt_add_dbus_adaptor(powerdevil_SRCS dbus/org.kde.Solid.PowerManagement.xml powerdevilcore.h PowerDevil::Core) 0114 qt_add_dbus_adaptor(powerdevil_SRCS dbus/org.kde.Solid.PowerManagement.PolicyAgent.xml 0115 powerdevilpolicyagent.h PowerDevil::PolicyAgent 0116 powermanagementpolicyagentadaptor PowerManagementPolicyAgentAdaptor) 0117 0118 qt_add_dbus_adaptor(powerdevil_SRCS dbus/org.freedesktop.PowerManagement.xml powerdevilfdoconnector.h PowerDevil::FdoConnector powermanagementfdoadaptor PowerManagementFdoAdaptor) 0119 qt_add_dbus_adaptor(powerdevil_SRCS dbus/org.freedesktop.PowerManagement.Inhibit.xml powerdevilfdoconnector.h PowerDevil::FdoConnector powermanagementinhibitadaptor PowerManagementInhibitAdaptor) 0120 0121 # KAuth charge threshold helper 0122 add_executable(chargethresholdhelper chargethresholdhelper.cpp powerdevil_debug.cpp ${chargethresholdhelper_mocs}) 0123 target_link_libraries(chargethresholdhelper Qt::Core KF6::AuthCore) 0124 install(TARGETS chargethresholdhelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) 0125 kauth_install_helper_files(chargethresholdhelper org.kde.powerdevil.chargethresholdhelper root) 0126 kauth_install_actions(org.kde.powerdevil.chargethresholdhelper chargethreshold_helper_actions.actions) 0127 0128 ## discrete gpu helper executable 0129 add_executable(discretegpuhelper discretegpuhelper.cpp ${CMAKE_BINARY_DIR}/daemon/powerdevil_debug.cpp) 0130 target_link_libraries(discretegpuhelper Qt::Core KF6::AuthCore) 0131 install(TARGETS discretegpuhelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) 0132 kauth_install_helper_files(discretegpuhelper org.kde.powerdevil.discretegpuhelper root) 0133 kauth_install_actions(org.kde.powerdevil.discretegpuhelper discretegpu_helper_actions.actions) 0134 0135 0136 ## backlight helper executable 0137 set(backlighthelpers_SRCS ${CMAKE_BINARY_DIR}/daemon/powerdevil_debug.cpp) 0138 if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD) 0139 list(APPEND backlighthelpers_SRCS controllers/backlighthelper_freebsd.cpp) 0140 else() 0141 list(APPEND backlighthelpers_SRCS controllers/backlighthelper_linux.cpp) 0142 endif() 0143 0144 add_executable(backlighthelper ${backlighthelpers_SRCS}) 0145 target_link_libraries(backlighthelper Qt::Core KF6::AuthCore KF6::I18n) 0146 install(TARGETS backlighthelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) 0147 kauth_install_helper_files(backlighthelper org.kde.powerdevil.backlighthelper root) 0148 kauth_install_actions(org.kde.powerdevil.backlighthelper controllers/backlight_helper_actions.actions) 0149 0150 0151 add_executable(powerdevil ${powerdevil_SRCS}) 0152 set_target_properties(powerdevil PROPERTIES OUTPUT_NAME org_kde_powerdevil) 0153 configure_file(powerdevil.desktop.cmake 0154 ${CMAKE_CURRENT_BINARY_DIR}/powerdevil.desktop) 0155 0156 target_link_libraries(powerdevil 0157 KF6::Crash 0158 KF6::ConfigCore 0159 KF6::CoreAddons 0160 KF6::I18n 0161 KF6::DBusAddons 0162 PW::KWorkspace 0163 powerdevilcore 0164 ) 0165 if (XCB_FOUND) 0166 target_link_libraries(powerdevil Qt::GuiPrivate) 0167 endif () 0168 0169 target_link_libraries(powerdevil ${UDEV_LIBS}) 0170 0171 install(TARGETS powerdevil DESTINATION ${KDE_INSTALL_FULL_LIBEXECDIR}) 0172 if (HAVE_LIBCAP) 0173 install( 0174 CODE "execute_process( 0175 COMMAND 0176 ${SETCAP_EXECUTABLE} 0177 CAP_WAKE_ALARM=+ep 0178 \$ENV{DESTDIR}${KDE_INSTALL_FULL_LIBEXECDIR}/org_kde_powerdevil)" 0179 ) 0180 endif() 0181 0182 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/powerdevil.desktop 0183 DESTINATION ${KDE_INSTALL_AUTOSTARTDIR}) 0184 install(TARGETS powerdevilcore ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0185 0186 set(HAVE_XCB ${XCB_FOUND}) 0187 configure_file(config-powerdevil.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-powerdevil.h ) 0188 0189 ecm_install_configured_files(INPUT plasma-powerdevil.service.in @ONLY DESTINATION 0190 ${KDE_INSTALL_SYSTEMDUSERUNITDIR})