-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
74 lines (57 loc) · 1.99 KB
/
Copy pathCMakeLists.txt
File metadata and controls
74 lines (57 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
cmake_minimum_required(VERSION 3.28)
project("Virtual Surround Manager" VERSION 1.1.2 LANGUAGES CXX)
set(APPLICATION_ID "de.berny23.virtual_surround_manager")
set(APPLICATION_NAME "Virtual Surround Sound")
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
option(IS_FLATPAK "Some things need to be handled differently in C++ if running in a Flatpak" OFF)
# Kirigami dependencies
find_package(ECM 6.0.0 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
set(CMAKE_AUTOMOC ON)
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(ECMFindQmlModule)
include(ECMQmlModule)
find_package(Qt6 REQUIRED COMPONENTS
Core
Quick
Gui
QuickControls2
Widgets
)
find_package(KF6 REQUIRED COMPONENTS
Kirigami
I18n
CoreAddons
QQC2DesktopStyle
IconThemes
Config
)
ecm_find_qmlmodule(org.kde.kirigami REQUIRED)
find_package(PkgConfig REQUIRED)
# PipeWire dependencies
pkg_check_modules(PIPEWIRE REQUIRED libpipewire-0.3)
# Flatpak stuff
if(IS_FLATPAK)
pkg_check_modules(LIBPORTAL IMPORTED_TARGET REQUIRED libportal)
pkg_check_modules(LIBPORTALQT IMPORTED_TARGET REQUIRED libportal-qt6)
endif(IS_FLATPAK)
# Translations
ki18n_install(po)
# Include CMakeLists.txt in src directory
add_subdirectory(src)
# Prepare and install shortcut to default system application path (e.g. /usr/share/applications/)
configure_file(dist/${APPLICATION_ID}.desktop.in
${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_ID}.desktop @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_ID}.desktop
DESTINATION ${KDE_INSTALL_APPDIR})
# Prepare and install MetaInfo file for app stores
configure_file(dist/${APPLICATION_ID}.metainfo.xml.in
${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_ID}.metainfo.xml)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_ID}.metainfo.xml
DESTINATION ${KDE_INSTALL_METAINFODIR}
)
# From kirigami docs
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)