Warning, /plasma/plasma-vault/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # vim:set softtabstop=3 shiftwidth=3 tabstop=3 expandtab:
0002
0003 cmake_minimum_required(VERSION 3.16)
0004
0005 project (PlasmaVault)
0006
0007 set(PROJECT_VERSION "6.0.80")
0008 set(PROJECT_VERSION_MAJOR 6)
0009
0010 set(CMAKE_CXX_STANDARD 20)
0011 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0012
0013 set (PLASMAVAULT_VERSION "0.1")
0014
0015 # We don't build in-source
0016 if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
0017 message (
0018 FATAL_ERROR
0019 "plasmavault requires an out of source build. Please create a separate build directory and run 'cmake path_to_plasma [options]' there."
0020 )
0021 endif ()
0022
0023 # Extra CMake stuff
0024 include (FeatureSummary)
0025
0026 set(PROJECT_DEP_VERSION "6.0.80")
0027 set(QT_MIN_VERSION "6.6.0")
0028 set(KF6_MIN_VERSION "5.240.0")
0029 set(KDE_COMPILERSETTINGS_LEVEL "5.82")
0030
0031 find_package (ECM ${KF6_MIN_VERSION} NO_MODULE)
0032 set_package_properties (ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules")
0033 feature_summary (WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
0034
0035 set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} )
0036
0037 include (KDEInstallDirs)
0038 include (KDECMakeSettings)
0039 include (KDECompilerSettings)
0040 include (GenerateExportHeader)
0041 include (ECMGenerateHeaders)
0042 include(KDEClangFormat)
0043 include(KDEGitCommitHooks)
0044 # Qt
0045 set (CMAKE_AUTOMOC ON)
0046 find_package (
0047 Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED
0048 COMPONENTS
0049 Core
0050 DBus
0051 Quick
0052 Widgets
0053 )
0054
0055 find_package (
0056 KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS
0057 Config
0058 ConfigWidgets
0059 CoreAddons
0060 DBusAddons
0061 I18n
0062 ItemModels
0063 KIO
0064 Service
0065 WidgetsAddons
0066 )
0067
0068 find_package(Plasma ${PROJECT_DEP_VERSION} REQUIRED)
0069 find_package(PlasmaActivities ${PROJECT_DEP_VERSION} REQUIRED)
0070
0071 find_package (KF6NetworkManagerQt ${KF6_MIN_VERSION})
0072 if (KF6NetworkManagerQt_FOUND)
0073 set (HAVE_NETWORKMANAGER TRUE)
0074 endif()
0075 find_package (KSysGuard REQUIRED)
0076
0077 include_directories (
0078 ${CMAKE_CURRENT_SOURCE_DIR}
0079 ${CMAKE_CURRENT_SOURCE_DIR}/common
0080 )
0081
0082 # Basic includes
0083 include (CPack)
0084
0085 include (ECMSetupVersion)
0086
0087 add_definitions (-DQT_NO_URL_CAST_FROM_STRING)
0088 add_definitions (-DQT_NO_CAST_TO_ASCII)
0089 add_definitions (-DTRANSLATION_DOMAIN=\"plasmavault-kde\")
0090 add_definitions (-fexceptions)
0091 if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
0092 ki18n_install (po)
0093 endif ()
0094
0095 # libPlasmaVault
0096
0097 add_subdirectory (kded)
0098 add_subdirectory (plasma)
0099 add_subdirectory (icons)
0100 add_subdirectory (fileitemplugin)
0101
0102 # add clang-format target for all our real source files
0103 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0104 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0105 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0106
0107 # Write out the features
0108 feature_summary (WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0109