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.10")
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)