Changeset View
Changeset View
Standalone View
Standalone View
CMakeLists.txt
Show All 14 Lines | |||||
15 | 15 | | |||
16 | include(KDEInstallDirs) | 16 | include(KDEInstallDirs) | ||
17 | include(KDECMakeSettings) | 17 | include(KDECMakeSettings) | ||
18 | include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) | 18 | include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) | ||
19 | include(KDEClangFormat) | 19 | include(KDEClangFormat) | ||
20 | 20 | | |||
21 | include(FeatureSummary) | 21 | include(FeatureSummary) | ||
22 | 22 | | |||
23 | option(ENABLE_PIPEWIRE "Disable PipeWire support. PipeWire is needed for screen sharing and remote desktop" ON) | | |||
24 | if(ENABLE_PIPEWIRE) | | |||
25 | set(HAVE_PIPEWIRE_SUPPORT 1) | | |||
26 | else() | | |||
27 | message(STATUS "Disabling PipeWire support") | | |||
28 | set(HAVE_PIPEWIRE_SUPPORT 0) | | |||
29 | endif() | | |||
30 | add_definitions(-DHAVE_PIPEWIRE_SUPPORT=${HAVE_PIPEWIRE_SUPPORT}) | | |||
31 | | ||||
32 | if(HAVE_PIPEWIRE_SUPPORT) | | |||
33 | find_package(PipeWire) | | |||
34 | set_package_properties(PipeWire PROPERTIES | | |||
35 | TYPE REQUIRED | | |||
36 | PURPOSE "Required for screencast portal" | | |||
37 | ) | | |||
38 | | ||||
39 | find_package(GBM) | | |||
40 | set_package_properties(GBM PROPERTIES | | |||
41 | TYPE REQUIRED | | |||
42 | PURPOSE "Required for screencast portal" | | |||
43 | ) | | |||
44 | | ||||
45 | find_package(Epoxy) | | |||
46 | set_package_properties(Epoxy PROPERTIES DESCRIPTION "libepoxy" | | |||
47 | URL "https://github.com/anholt/libepoxy" | | |||
48 | TYPE REQUIRED | | |||
49 | PURPOSE "Required for screencast portal" | | |||
50 | ) | | |||
51 | endif() | | |||
52 | | ||||
53 | find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS | 23 | find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS | ||
54 | Core | 24 | Core | ||
55 | Concurrent | 25 | Concurrent | ||
56 | DBus | 26 | DBus | ||
57 | PrintSupport | 27 | PrintSupport | ||
58 | QuickWidgets | 28 | QuickWidgets | ||
59 | Widgets | 29 | Widgets | ||
60 | ) | 30 | ) | ||
61 | 31 | | |||
62 | find_package(KF5 ${KF5_MIN_VERSION} REQUIRED | 32 | find_package(KF5 ${KF5_MIN_VERSION} REQUIRED | ||
63 | CoreAddons | 33 | CoreAddons | ||
64 | Config | 34 | Config | ||
65 | I18n | 35 | I18n | ||
66 | Declarative | 36 | Declarative | ||
67 | KIO | 37 | KIO | ||
68 | Kirigami2 | 38 | Kirigami2 | ||
69 | Notifications | 39 | Notifications | ||
70 | Plasma | 40 | Plasma | ||
71 | Wayland | 41 | Wayland | ||
72 | WidgetsAddons | 42 | WidgetsAddons | ||
73 | WindowSystem | 43 | WindowSystem | ||
74 | ) | 44 | ) | ||
45 | find_package(Wayland 1.15 REQUIRED COMPONENTS Client) | ||||
46 | find_package(PlasmaWaylandProtocols REQUIRED) | ||||
47 | find_package(QtWaylandScanner REQUIRED) | ||||
75 | 48 | | |||
76 | if (EXISTS "${CMAKE_SOURCE_DIR}/.git") | 49 | if (EXISTS "${CMAKE_SOURCE_DIR}/.git") | ||
77 | add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x060000) | 50 | add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x060000) | ||
78 | add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x054200) | 51 | add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x054200) | ||
79 | endif() | 52 | endif() | ||
80 | 53 | | |||
81 | add_subdirectory(data) | 54 | add_subdirectory(data) | ||
82 | add_subdirectory(src) | 55 | add_subdirectory(src) | ||
83 | 56 | | |||
84 | # add clang-format target for all our real source files | 57 | # add clang-format target for all our real source files | ||
85 | file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) | 58 | file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) | ||
86 | kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) | 59 | kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) | ||
87 | 60 | | |||
88 | feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) | 61 | feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) |