Warning, /plasma/plasma-mobile/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2014-2020 Marco Martin <mart@kde.org> 0002 # SPDX-FileCopyrightText: 2017-2021 Bhushan Shah <bshah@kde.org> 0003 # SPDX-FileCopyrightText: 2019-2021 Nicolas Fella <nicolas.fella@kde.org> 0004 # SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org> 0005 # SPDX-License-Identifier: GPL-2.0-or-later 0006 0007 cmake_minimum_required(VERSION 3.16) 0008 0009 project(plasma-mobile) 0010 set(PROJECT_VERSION "6.0.80") 0011 set(PROJECT_VERSION_MAJOR 6) 0012 0013 set(PROJECT_DEP_VERSION "6.0.80") 0014 set(QT_MIN_VERSION "6.6.0") 0015 set(KF6_MIN_VERSION "5.240.0") 0016 set(KDE_COMPILERSETTINGS_LEVEL "5.82") 0017 0018 set(CMAKE_CXX_STANDARD 20) 0019 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0020 0021 find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE) 0022 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0023 0024 set(KF_IGNORE_PLATFORM_CHECK ON CACHE BOOL "Don't check platform that is being built on") 0025 0026 include(KDEInstallDirs) 0027 include(KDECMakeSettings) 0028 include(KDECompilerSettings NO_POLICY_SCOPE) 0029 include(ECMOptionalAddSubdirectory) 0030 include(ECMInstallIcons) 0031 include(ECMSetupVersion) 0032 include(ECMMarkNonGuiExecutable) 0033 include(ECMGenerateHeaders) 0034 include(ECMFindQmlModule) 0035 include(ECMGenerateQmlTypes) 0036 include(ECMFindQmlModule) 0037 include(GenerateExportHeader) 0038 include(KDEGitCommitHooks) 0039 include(KDEClangFormat) 0040 include(FeatureSummary) 0041 0042 add_definitions(-DQT_NO_URL_CAST_FROM_STRING) 0043 0044 ecm_setup_version(${PROJECT_VERSION} 0045 VARIABLE_PREFIX PLASMA_MOBILE 0046 VERSION_HEADER ${CMAKE_CURRENT_BINARY_DIR}/version.h 0047 ) 0048 0049 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED 0050 Core 0051 Qml 0052 Quick 0053 Gui 0054 Sensors 0055 ) 0056 0057 find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS 0058 I18n 0059 GlobalAccel 0060 KIO 0061 Config 0062 DBusAddons 0063 ItemModels 0064 Service 0065 Notifications 0066 ModemManagerQt 0067 NetworkManagerQt 0068 KCMUtils 0069 Package 0070 DBusAddons 0071 JobWidgets 0072 ) 0073 0074 find_package(Plasma CONFIG REQUIRED) 0075 find_package(PlasmaQuick CONFIG REQUIRED) 0076 find_package(KF6Screen CONFIG REQUIRED) 0077 find_package(KWayland CONFIG REQUIRED) 0078 0079 find_package(PkgConfig REQUIRED) 0080 0081 find_package(QCoro6 REQUIRED COMPONENTS DBus) 0082 qcoro_enable_coroutines() 0083 kde_enable_exceptions() 0084 0085 pkg_check_modules(GOBJECT gobject-2.0 REQUIRED IMPORTED_TARGET) 0086 pkg_check_modules(GIO gio-2.0 REQUIRED IMPORTED_TARGET) 0087 0088 find_package(KF6KirigamiAddons 0.6 REQUIRED) 0089 find_package(epoxy REQUIRED) 0090 find_package(XCB REQUIRED COMPONENTS XCB) 0091 find_package(KWin ${PROJECT_DEP_VERSION} REQUIRED COMPONENTS 0092 kwin 0093 ) 0094 0095 find_package(LibKWorkspace CONFIG REQUIRED) 0096 find_package(Libudev REQUIRED) 0097 0098 find_package(KWinDBusInterface) 0099 set_package_properties(KWinDBusInterface PROPERTIES DESCRIPTION "KWin DBus interface" 0100 TYPE REQUIRED 0101 PURPOSE "Needed for virtual keyboard toggle button" 0102 ) 0103 0104 include(CheckIncludeFiles) 0105 0106 ecm_find_qmlmodule(org.kde.pipewire 0.1) 0107 0108 plasma_install_package(lookandfeel org.kde.breeze.mobile look-and-feel lookandfeel) 0109 plasma_install_package(shell org.kde.plasma.mobileshell shells) 0110 0111 add_subdirectory(bin) 0112 add_subdirectory(containments) 0113 add_subdirectory(components) 0114 add_subdirectory(quicksettings) 0115 add_subdirectory(kcms) 0116 add_subdirectory(kded) 0117 add_subdirectory(kwin) 0118 add_subdirectory(envmanager) 0119 add_subdirectory(initialstart) 0120 0121 find_program(PlasmaOpenSettings plasma-open-settings) 0122 set_package_properties(PlasmaOpenSettings PROPERTIES 0123 URL https://invent.kde.org/plasma/kde-cli-tools/ 0124 DESCRIPTION "Opens KCMs properly" 0125 TYPE RUNTIME 0126 PURPOSE "Used on the top panel") 0127 0128 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0129 0130 # add clang-format target for all our real source files 0131 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0132 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0133 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0134 0135 ki18n_install(po)