Warning, /plasma/kwayland-integration/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.16)
0002 project(kwayland-integration)
0003 
0004 set(CMAKE_C_STANDARD 99)
0005 
0006 set(PROJECT_VERSION "6.0.80")
0007 set(PROJECT_VERSION_MAJOR 6)
0008 
0009 set(QT_MIN_VERSION "5.15.2")
0010 set(KF_MIN_VERSION "5.102.0")
0011 set(KDE_COMPILERSETTINGS_LEVEL "5.82")
0012 
0013 set(CMAKE_CXX_STANDARD 20)
0014 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0015 
0016 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
0017 
0018 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
0019 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} )
0020 
0021 include(FeatureSummary)
0022 include(KDEInstallDirs)
0023 include(KDECMakeSettings)
0024 include(KDECompilerSettings NO_POLICY_SCOPE)
0025 include(ECMQtDeclareLoggingCategory)
0026 include(KDEClangFormat)
0027 include(KDEGitCommitHooks)
0028 include(ECMDeprecationSettings)
0029 
0030 find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
0031     Core
0032     Widgets
0033     WaylandClient
0034 )
0035 
0036 # required frameworks
0037 find_package(KF5 ${KF_MIN_VERSION} REQUIRED COMPONENTS
0038     WindowSystem
0039 )
0040 
0041 find_package(QtWaylandScanner REQUIRED)
0042 find_package(Qt5XkbCommonSupport REQUIRED) # Needed by Qt5::WaylandClientPrivate
0043 find_package(KF5Wayland ${KF_MIN_VERSION} REQUIRED)
0044 
0045 find_package(WaylandProtocols 1.21 REQUIRED)
0046 find_package(Wayland 1.15 COMPONENTS Client)
0047 find_package(PkgConfig REQUIRED)
0048 find_package(PlasmaWaylandProtocols REQUIRED)
0049 
0050 
0051 check_cxx_source_compiles("
0052 #include <fcntl.h>
0053 #include <sys/mman.h>
0054 #include <unistd.h>
0055 
0056 int main() {
0057     const int size = 10;
0058     int fd = memfd_create(\"test\", MFD_CLOEXEC | MFD_ALLOW_SEALING);
0059     ftruncate(fd, size);
0060     fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_SEAL);
0061     mmap(nullptr, size, PROT_WRITE, MAP_SHARED, fd, 0);
0062     return 0;
0063 }" HAVE_MEMFD)
0064 
0065 ecm_set_disabled_deprecation_versions(QT 5.15.2
0066     KF 5.101
0067 )
0068 
0069 add_subdirectory(src)
0070 
0071 # add clang-format target for all our real source files
0072 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0073 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0074 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0075 
0076 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)