Warning, /plasma/plasma-pa/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16)
0002
0003 project(plasma-volume-control)
0004
0005 set(PROJECT_VERSION "6.0.80")
0006 set(PROJECT_VERSION_MAJOR 6)
0007
0008 set(PROJECT_DEP_VERSION "6.0.80")
0009 set(QT_MIN_VERSION "6.6.0")
0010 set(KF6_MIN_VERSION "5.240.0")
0011 set(KDE_COMPILERSETTINGS_LEVEL "5.82")
0012
0013 set(CMAKE_CXX_STANDARD 20)
0014 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0015
0016 find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE)
0017 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/ ${ECM_MODULE_PATH})
0018
0019 add_definitions(-DTRANSLATION_DOMAIN=\"kcm_pulseaudio\" -DQT_NO_KEYWORDS)
0020 include(FeatureSummary)
0021 include(KDEInstallDirs)
0022 include(KDECMakeSettings)
0023 include(KDECompilerSettings NO_POLICY_SCOPE)
0024 include(KDEClangFormat)
0025 include(KDEGitCommitHooks)
0026 include(ECMSetupVersion)
0027 include(ECMOptionalAddSubdirectory)
0028 include(FindPkgConfig)
0029 include(ECMDeprecationSettings)
0030 include(ECMQmlModule)
0031
0032 ecm_setup_version(${PROJECT_VERSION}
0033 VARIABLE_PREFIX PLASMAPA
0034 VERSION_HEADER ${CMAKE_BINARY_DIR}/version.h)
0035
0036 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS
0037 Core
0038 Gui
0039 DBus
0040 Quick
0041 Widgets
0042 )
0043 find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS
0044 Config
0045 CoreAddons
0046 Declarative
0047 DocTools
0048 GlobalAccel
0049 StatusNotifierItem
0050 I18n
0051 KCMUtils
0052 Svg
0053 )
0054
0055 find_package(Plasma ${PROJECT_DEP_VERSION} REQUIRED)
0056
0057 find_package(Canberra REQUIRED)
0058
0059 pkg_check_modules(LIBPULSE libpulse REQUIRED IMPORTED_TARGET)
0060 pkg_check_modules(LIBPULSE_MAINLOOP libpulse-mainloop-glib REQUIRED IMPORTED_TARGET)
0061
0062 pkg_check_modules(GIO gio-2.0 REQUIRED IMPORTED_TARGET)
0063
0064 find_package(CanberraPulse)
0065 set_package_properties(CanberraPulse PROPERTIES
0066 DESCRIPTION "Pulseaudio backend for libcanberra"
0067 PURPOSE "Required for volume feedback sounds"
0068 TYPE RUNTIME
0069 )
0070
0071 find_package(SoundThemeFreedesktop)
0072 set_package_properties(SoundThemeFreedesktop PROPERTIES
0073 DESCRIPTION "The standard freedesktop sound theme"
0074 PURPOSE "Required for volume feedback sounds"
0075 URL "https://www.freedesktop.org/wiki/Specifications/sound-theme-spec/"
0076 TYPE RUNTIME
0077 )
0078
0079 find_package(KF6Kirigami2 ${KF6_MIN_VERSION} CONFIG)
0080 set_package_properties(KF6Kirigami2 PROPERTIES
0081 DESCRIPTION "A QtQuick based components set"
0082 PURPOSE "Required at runtime the KCM"
0083 TYPE RUNTIME
0084 )
0085
0086 find_package(KirigamiAddons CONFIG)
0087 set_package_properties(KirigamiAddons PROPERTIES
0088 DESCRIPTION "Extra controls for Kirigami applications"
0089 PURPOSE "Required at runtime for the KCM"
0090 TYPE RUNTIME
0091 )
0092
0093 find_package(KItemModels CONFIG)
0094 set_package_properties(KItemModels PROPERTIES
0095 DESCRIPTION "Set of item models extending the Qt model-view framework"
0096 PURPOSE "Required at runtime for the KCM and applet"
0097 TYPE RUNTIME
0098 )
0099
0100 ecm_set_disabled_deprecation_versions(QT 5.15.2
0101 KF 5.240.0
0102 )
0103
0104 add_subdirectory(applet)
0105 add_subdirectory(src)
0106 add_subdirectory(doc)
0107 add_subdirectory(appiumtests)
0108
0109 # add clang-format target for all our real source files
0110 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0111 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0112 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0113
0114 ki18n_install(po)
0115 kdoctools_install(po)
0116
0117 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)