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 "5.27.8") 0006 set(PROJECT_VERSION_MAJOR 5) 0007 0008 set(QT_MIN_VERSION "5.15.2") 0009 set(KF5_MIN_VERSION "5.102.0") 0010 set(KDE_COMPILERSETTINGS_LEVEL "5.82") 0011 0012 set(CMAKE_CXX_STANDARD 17) 0013 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0014 0015 ################# set KDE specific information ################# 0016 0017 find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) 0018 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) 0019 0020 include(KDEInstallDirs) 0021 include(KDECMakeSettings) 0022 include(KDECompilerSettings NO_POLICY_SCOPE) 0023 include(KDEClangFormat) 0024 include(ECMFindQmlModule) 0025 include(KDEGitCommitHooks) 0026 include(ECMQtDeclareLoggingCategory) 0027 0028 include(FeatureSummary) 0029 0030 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS 0031 Core 0032 DBus 0033 Gui 0034 Network 0035 Quick 0036 QuickWidgets 0037 Widgets 0038 ) 0039 0040 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED 0041 ConfigWidgets 0042 Completion 0043 CoreAddons 0044 Declarative 0045 DBusAddons 0046 KIO 0047 I18n 0048 NetworkManagerQt 0049 Notifications 0050 Plasma 0051 Service 0052 Solid 0053 Wallet 0054 WidgetsAddons 0055 WindowSystem 0056 KCMUtils 0057 ModemManagerQt 0058 ) 0059 0060 ecm_find_qmlmodule(org.kde.prison 1.0) 0061 0062 find_package(KF5Kirigami2 ${KF5_MIN_VERSION} CONFIG) 0063 set_package_properties(KF5Kirigami2 PROPERTIES 0064 DESCRIPTION "A QtQuick based components set" 0065 PURPOSE "Required at runtime by the KCMs" 0066 TYPE RUNTIME 0067 ) 0068 0069 find_package(Qca-qt${QT_MAJOR_VERSION} 2.1.0) 0070 set_package_properties(Qca-qt${QT_MAJOR_VERSION} PROPERTIES DESCRIPTION "Support for encryption" 0071 URL "https://download.kde.org/stable/qca-qt5/" 0072 TYPE REQUIRED) 0073 0074 find_package(KF5Prison ${KF5_MIN_VERSION}) 0075 set_package_properties(KF5Prison PROPERTIES DESCRIPTION "Prison library" 0076 URL "https://commits.kde.org/prison" 0077 TYPE RUNTIME 0078 PURPOSE "Needed to create mobile barcodes for WiFi networks" 0079 ) 0080 0081 find_package(PkgConfig REQUIRED) 0082 pkg_check_modules(OPENCONNECT IMPORTED_TARGET openconnect>=3.99) 0083 pkg_check_modules(NETWORKMANAGER IMPORTED_TARGET libnm>1.4.0 REQUIRED) 0084 pkg_check_modules(MOBILEBROADBANDPROVIDERINFO mobile-broadband-provider-info) 0085 pkg_get_variable(BROADBANDPROVIDER_DATABASE mobile-broadband-provider-info database) 0086 0087 add_definitions( 0088 -DQT_DISABLE_DEPRECATED_BEFORE=0x050f00 0089 -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 0090 -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055800 0091 -DKF_DEPRECATED_WARNINGS_SINCE=0x060000 0092 ) 0093 0094 0095 add_definitions(-DQT_NO_URL_CAST_FROM_STRING) 0096 0097 remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY) 0098 0099 add_subdirectory(applet) 0100 add_subdirectory(kded) 0101 add_subdirectory(kcm) 0102 add_subdirectory(libs) 0103 add_subdirectory(vpn) 0104 0105 if (BUILD_MOBILE) 0106 add_subdirectory(mobile) 0107 endif() 0108 0109 # Enable unit testing 0110 if (BUILD_TESTING) 0111 add_subdirectory(tests) 0112 endif() 0113 0114 # add clang-format target for all our real source files 0115 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0116 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0117 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0118 0119 ecm_qt_install_logging_categories( 0120 EXPORT PLASMANM 0121 FILE plasma-nm.categories 0122 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0123 ) 0124 0125 ki18n_install(po) 0126 0127 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)