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