Warning, /plasma/plasma-nm/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 project(plasma-networkmanagement) 0004 0005 set(PROJECT_VERSION "6.0.80") 0006 set(PROJECT_VERSION_MAJOR 6) 0007 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 ################# set KDE specific information ################# 0016 0017 find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE) 0018 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) 0019 0020 option(BUILD_OPENCONNECT "Build OpenConnect VPN plugin" ON) 0021 0022 include(KDEInstallDirs) 0023 include(KDECMakeSettings) 0024 include(KDECompilerSettings NO_POLICY_SCOPE) 0025 include(KDEClangFormat) 0026 include(ECMFindQmlModule) 0027 include(ECMQmlModule) 0028 include(KDEGitCommitHooks) 0029 include(ECMQtDeclareLoggingCategory) 0030 0031 include(FeatureSummary) 0032 include(GenerateExportHeader) 0033 0034 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS 0035 Core 0036 DBus 0037 Gui 0038 Network 0039 Quick 0040 QuickWidgets 0041 Widgets 0042 ) 0043 0044 find_package(PkgConfig REQUIRED) 0045 0046 if(BUILD_OPENCONNECT) 0047 pkg_check_modules(OPENCONNECT IMPORTED_TARGET openconnect>=3.99) 0048 if(NOT TARGET PkgConfig::OPENCONNECT) 0049 set(BUILD_OPENCONNECT OFF) 0050 endif() 0051 endif() 0052 0053 if(BUILD_OPENCONNECT) 0054 find_package(Qt6WebEngineWidgets ${QT_MIN_VERSION} CONFIG REQUIRED) 0055 endif() 0056 0057 find_package(KF6 ${KF6_MIN_VERSION} REQUIRED 0058 ColorScheme 0059 Completion 0060 CoreAddons 0061 DBusAddons 0062 KIO 0063 I18n 0064 NetworkManagerQt 0065 Notifications 0066 Service 0067 Solid 0068 Wallet 0069 WidgetsAddons 0070 WindowSystem 0071 KCMUtils 0072 Svg 0073 ModemManagerQt 0074 ) 0075 0076 find_package(Plasma ${PROJECT_VERSION} REQUIRED) 0077 0078 ecm_find_qmlmodule(org.kde.prison 1.0) 0079 0080 find_package(KF6Kirigami2 ${KF6_MIN_VERSION} CONFIG) 0081 set_package_properties(KF6Kirigami2 PROPERTIES 0082 DESCRIPTION "A QtQuick based components set" 0083 PURPOSE "Required at runtime by the KCMs" 0084 TYPE RUNTIME 0085 ) 0086 0087 find_package(Qca-qt6 2.1.0) 0088 set_package_properties(Qca-qt6 PROPERTIES DESCRIPTION "Support for encryption" 0089 URL "https://download.kde.org/stable/qca-qt5/" 0090 TYPE REQUIRED) 0091 0092 find_package(KF6Prison ${KF6_MIN_VERSION}) 0093 set_package_properties(KF6Prison PROPERTIES DESCRIPTION "Prison library" 0094 URL "https://commits.kde.org/prison" 0095 TYPE RUNTIME 0096 PURPOSE "Needed to create mobile barcodes for WiFi networks" 0097 ) 0098 0099 pkg_check_modules(NETWORKMANAGER IMPORTED_TARGET libnm>1.4.0 REQUIRED) 0100 pkg_check_modules(MOBILEBROADBANDPROVIDERINFO mobile-broadband-provider-info) 0101 pkg_get_variable(BROADBANDPROVIDER_DATABASE mobile-broadband-provider-info database) 0102 0103 find_package(QCoro6 REQUIRED COMPONENTS Core DBus) 0104 0105 qcoro_enable_coroutines() 0106 0107 add_definitions( 0108 -DQT_DISABLE_DEPRECATED_BEFORE=0x050f00 0109 -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 0110 -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055800 0111 -DKF_DEPRECATED_WARNINGS_SINCE=0x060000 0112 ) 0113 0114 0115 add_definitions(-DQT_NO_URL_CAST_FROM_STRING) 0116 0117 remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY) 0118 0119 add_subdirectory(applet) 0120 add_subdirectory(kded) 0121 add_subdirectory(kcm) 0122 add_subdirectory(libs) 0123 add_subdirectory(vpn) 0124 0125 # Enable unit testing 0126 if (BUILD_TESTING) 0127 add_subdirectory(tests) 0128 endif() 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 ecm_qt_install_logging_categories( 0136 EXPORT PLASMANM 0137 FILE plasma-nm.categories 0138 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0139 ) 0140 0141 ki18n_install(po) 0142 0143 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)