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)