Warning, /plasma/powerdevil/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.16)
0002 
0003 project(PowerDevil)
0004 set(PROJECT_VERSION "6.0.80")
0005 set(PROJECT_VERSION_MAJOR 6)
0006 
0007 set(PROJECT_DEP_VERSION "6.0.80")
0008 set(QT_MIN_VERSION "6.6.0")
0009 set(KF6_MIN_VERSION "5.240.0")
0010 set(KDE_COMPILERSETTINGS_LEVEL "5.82")
0011 
0012 set(CMAKE_CXX_STANDARD 20)
0013 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0014 
0015 find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE)
0016 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}  ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
0017 
0018 include(ECMSetupVersion)
0019 include(ECMQtDeclareLoggingCategory)
0020 include(ECMConfiguredInstall)
0021 include(ECMGenerateDBusServiceFile)
0022 include(FeatureSummary)
0023 include(GenerateExportHeader)
0024 include(KDEInstallDirs)
0025 include(KDECMakeSettings)
0026 include(KDECompilerSettings NO_POLICY_SCOPE)
0027 include(KDEClangFormat)
0028 include(KDEGitCommitHooks)
0029 include(ECMDeprecationSettings)
0030 
0031 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Widgets DBus)
0032 find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS Auth Config Crash DBusAddons DocTools I18n IdleTime ItemModels GlobalAccel KIO Kirigami2 KCMUtils Notifications Solid XmlGui)
0033 find_package(PlasmaActivities ${PROJECT_DEP_VERSION} REQUIRED)
0034 find_package(KF6Screen CONFIG REQUIRED)
0035 find_package(LibKWorkspace CONFIG REQUIRED)
0036 
0037 find_package(LibKWorkspace ${PROJECT_DEP_VERSION} REQUIRED)
0038 
0039 find_package(UDev REQUIRED)
0040 
0041 find_package(XCB REQUIRED COMPONENTS XCB RANDR DPMS)
0042 
0043 find_package(Libcap)
0044 set_package_properties(Libcap PROPERTIES
0045     TYPE OPTIONAL
0046     PURPOSE "Needed for scheduled wakeup which can wake from suspend (CAP_WAKE_ALARM)"
0047 )
0048 set(HAVE_LIBCAP ${Libcap_FOUND})
0049 
0050 find_package(DDCUtil)
0051 if(DDCUtil_FOUND)
0052     add_definitions(-DWITH_DDCUTIL)
0053     set_package_properties(DDCUtil
0054         PROPERTIES DESCRIPTION "DDCUtil library support"
0055         TYPE OPTIONAL
0056         PURPOSE "Set monitor settings over DDC/CI channel"
0057     )
0058 endif()
0059 
0060 find_package(LayerShellQt)
0061 set_package_properties(LayerShellQt PROPERTIES
0062     DESCRIPTION "Layer shell Qt bindings"
0063     URL "https://invent.kde.org/plasma/layer-shell-qt"
0064     PURPOSE "Required for the power profile selection osd"
0065     TYPE REQUIRED
0066 )
0067 
0068 include_directories (
0069     ${CMAKE_CURRENT_BINARY_DIR}
0070     ${CMAKE_CURRENT_SOURCE_DIR}/daemon
0071 )
0072 
0073 add_definitions(-DQT_NO_KEYWORDS)
0074 add_definitions(-DQT_NO_FOREACH)
0075 
0076 ecm_setup_version(${PROJECT_VERSION} VARIABLE_PREFIX POWERDEVIL
0077                   VERSION_HEADER "${CMAKE_BINARY_DIR}/powerdevil_version.h"
0078 )
0079 ecm_set_disabled_deprecation_versions(QT 5.15.2
0080     KF 5.101
0081 )
0082 
0083 add_subdirectory(daemon)
0084 add_subdirectory(kcmodule)
0085 add_subdirectory(doc)
0086 kdoctools_install(po)
0087 add_subdirectory(osd)
0088 
0089 add_subdirectory(autotests)
0090 
0091 ecm_qt_install_logging_categories(
0092         EXPORT POWERDEVIL
0093         FILE powerdevil.categories
0094         DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0095         )
0096 install( FILES powerdevil.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR} )
0097 
0098 # add clang-format target for all our real source files
0099 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0100 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0101 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0102 
0103 ki18n_install(po)
0104 
0105 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)