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 powerdevilbackendinterface.cpp 0013 powerdevilcore.cpp 0014 powerdevilenums.cpp 0015 powerdevilmigrateconfig.cpp 0016 powerdevilpolicyagent.cpp 0017 powerdevilbrightnesslogic.cpp 0018 powerdevilscreenbrightnesslogic.cpp 0019 powerdevilkeyboardbrightnesslogic.cpp 0020 powerdevilpowermanagement.cpp 0021 powerdevilsettingsdefaults.cpp 0022 brightnessosdwidget.cpp 0023 kwinkscreenhelpereffect.cpp 0024 suspendcontroller.cpp 0025 batterycontroller.cpp 0026 upowerdevice.cpp 0027 lidcontroller.cpp 0028 ) 0029 0030 add_library(powerdevil_log_static STATIC) 0031 set_property(TARGET powerdevil_log_static PROPERTY POSITION_INDEPENDENT_CODE ON) 0032 target_link_libraries(powerdevil_log_static Qt::Core) 0033 ecm_qt_declare_logging_category(powerdevil_log_static 0034 HEADER powerdevil_debug.h 0035 IDENTIFIER POWERDEVIL 0036 CATEGORY_NAME org.kde.powerdevil 0037 DEFAULT_SEVERITY Warning 0038 DESCRIPTION "Powerdevil" EXPORT POWERDEVIL 0039 ) 0040 0041 kconfig_add_kcfg_files(powerdevilcore_SRCS 0042 ${CMAKE_SOURCE_DIR}/PowerDevilGlobalSettings.kcfgc 0043 ${CMAKE_SOURCE_DIR}/PowerDevilProfileSettings.kcfgc 0044 ${CMAKE_SOURCE_DIR}/PowerDevilActivitySettings.kcfgc 0045 GENERATE_MOC 0046 ) 0047 0048 # Action DBus Adaptors 0049 0050 qt_add_dbus_interface(powerdevilcore_SRCS org.freedesktop.ScreenSaver.xml screenlocker_interface) 0051 0052 qt_add_dbus_interface(powerdevilcore_SRCS 0053 backends/upower/dbus/org.freedesktop.UPower.xml 0054 upower_interface 0055 ) 0056 0057 add_library(powerdevilcore SHARED ${powerdevilcore_SRCS} powerdevil_debug.cpp) 0058 set_target_properties(powerdevilcore PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION 2) 0059 0060 generate_export_header(powerdevilcore) 0061 0062 # not exported, so just make the deps public 0063 target_link_libraries(powerdevilcore 0064 Plasma::Activities 0065 KF6::AuthCore 0066 KF6::ConfigCore 0067 KF6::ConfigGui 0068 KF6::DBusAddons 0069 KF6::I18n 0070 KF6::Solid 0071 KF6::IdleTime 0072 KF6::GlobalAccel 0073 KF6::Screen 0074 KF6::Service 0075 KF6::Notifications 0076 KF6::XmlGui 0077 KF6::KirigamiPlatform 0078 PW::KWorkspace 0079 XCB::DPMS 0080 powerdevil_log_static 0081 ) 0082 0083 if (XCB_FOUND) # kwin kscreen helper effect 0084 target_link_libraries(powerdevilcore XCB::XCB Qt::GuiPrivate) 0085 endif () 0086 0087 # target no.2 - powerdevil kded module 0088 set(powerdevil_SRCS 0089 powerdevil_debug.cpp 0090 powerdevilapp.cpp 0091 powerdevilfdoconnector.cpp 0092 ) 0093 0094 # DBus Adaptors 0095 qt_add_dbus_adaptor(powerdevil_SRCS org.kde.Solid.PowerManagement.xml powerdevilcore.h PowerDevil::Core) 0096 qt_add_dbus_adaptor(powerdevil_SRCS org.kde.Solid.PowerManagement.PolicyAgent.xml 0097 powerdevilpolicyagent.h PowerDevil::PolicyAgent 0098 powermanagementpolicyagentadaptor PowerManagementPolicyAgentAdaptor) 0099 0100 qt_add_dbus_adaptor(powerdevil_SRCS org.freedesktop.PowerManagement.xml powerdevilfdoconnector.h PowerDevil::FdoConnector powermanagementfdoadaptor PowerManagementFdoAdaptor) 0101 qt_add_dbus_adaptor(powerdevil_SRCS org.freedesktop.PowerManagement.Inhibit.xml powerdevilfdoconnector.h PowerDevil::FdoConnector powermanagementinhibitadaptor PowerManagementInhibitAdaptor) 0102 0103 # KAuth charge threshold helper 0104 add_executable(chargethresholdhelper chargethresholdhelper.cpp powerdevil_debug.cpp ${chargethresholdhelper_mocs}) 0105 target_link_libraries(chargethresholdhelper Qt::Core KF6::AuthCore) 0106 install(TARGETS chargethresholdhelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) 0107 kauth_install_helper_files(chargethresholdhelper org.kde.powerdevil.chargethresholdhelper root) 0108 kauth_install_actions(org.kde.powerdevil.chargethresholdhelper chargethreshold_helper_actions.actions) 0109 0110 ## discrete gpu helper executable 0111 add_executable(discretegpuhelper discretegpuhelper.cpp ${CMAKE_BINARY_DIR}/daemon/powerdevil_debug.cpp) 0112 target_link_libraries(discretegpuhelper Qt::Core KF6::AuthCore) 0113 install(TARGETS discretegpuhelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) 0114 kauth_install_helper_files(discretegpuhelper org.kde.powerdevil.discretegpuhelper root) 0115 kauth_install_actions(org.kde.powerdevil.discretegpuhelper discretegpu_helper_actions.actions) 0116 0117 # Backends 0118 add_subdirectory(backends) 0119 0120 add_executable(powerdevil ${powerdevil_SRCS}) 0121 set_target_properties(powerdevil PROPERTIES OUTPUT_NAME org_kde_powerdevil) 0122 configure_file(powerdevil.desktop.cmake 0123 ${CMAKE_CURRENT_BINARY_DIR}/powerdevil.desktop) 0124 0125 target_link_libraries(powerdevil 0126 KF6::Crash 0127 KF6::ConfigCore 0128 KF6::CoreAddons 0129 KF6::I18n 0130 KF6::DBusAddons 0131 PW::KWorkspace 0132 powerdevilcore 0133 ) 0134 if (XCB_FOUND) 0135 target_link_libraries(powerdevil Qt::GuiPrivate) 0136 endif () 0137 0138 target_link_libraries(powerdevil ${UDEV_LIBS}) 0139 0140 install(TARGETS powerdevil DESTINATION ${KDE_INSTALL_FULL_LIBEXECDIR}) 0141 if (HAVE_LIBCAP) 0142 install( 0143 CODE "execute_process( 0144 COMMAND 0145 ${SETCAP_EXECUTABLE} 0146 CAP_WAKE_ALARM=+ep 0147 \$ENV{DESTDIR}${KDE_INSTALL_FULL_LIBEXECDIR}/org_kde_powerdevil)" 0148 ) 0149 endif() 0150 0151 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/powerdevil.desktop 0152 DESTINATION ${KDE_INSTALL_AUTOSTARTDIR}) 0153 install(TARGETS powerdevilcore ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0154 0155 set(HAVE_XCB ${XCB_FOUND}) 0156 configure_file(config-powerdevil.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-powerdevil.h ) 0157 0158 ecm_install_configured_files(INPUT plasma-powerdevil.service.in @ONLY DESTINATION 0159 ${KDE_INSTALL_SYSTEMDUSERUNITDIR})