This repository has been archived by the owner on Jan 25, 2024. It is now read-only.
forked from kupiqu/SierraBreezeEnhanced
-
Notifications
You must be signed in to change notification settings - Fork 3
/
CMakeLists.txt
127 lines (98 loc) · 3.38 KB
/
CMakeLists.txt
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
project(roundedsbe)
set(PROJECT_VERSION "1.3.1")
set(PROJECT_VERSION_MAJOR 0)
cmake_minimum_required(VERSION 3.16.0 FATAL_ERROR)
set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(WriteBasicConfigVersionFile)
include(FeatureSummary)
find_package(ECM 0.0.9 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_SOURCE_DIR}/cmake)
include(ECMInstallIcons)
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(GenerateExportHeader)
# include(GtkUpdateIconCache)
find_package(KDecoration2 REQUIRED)
# old stuff
add_definitions(-DTRANSLATION_DOMAIN="breeze_kwin_deco")
find_package(KF5 REQUIRED COMPONENTS CoreAddons GuiAddons ConfigWidgets WindowSystem I18n IconThemes)
find_package(Qt5 CONFIG REQUIRED COMPONENTS DBus)
### XCB
find_package(XCB COMPONENTS XCB)
set_package_properties(XCB PROPERTIES
DESCRIPTION "X protocol C-language Binding"
URL "https://xcb.freedesktop.org/"
TYPE OPTIONAL
PURPOSE "Required to pass style properties to native Windows on X11 Platform"
)
if(UNIX AND NOT APPLE)
set(BREEZE_HAVE_X11 ${XCB_XCB_FOUND})
if (XCB_XCB_FOUND)
find_package(Qt5 REQUIRED CONFIG COMPONENTS X11Extras)
endif()
else()
set(BREEZE_HAVE_X11 FALSE)
endif()
################# configuration #################
configure_file(config-breeze.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-breeze.h )
################# includes #################
add_subdirectory(libbreezecommon)
add_subdirectory(cornersshader)
################# newt target #################
### plugin classes
set(roundedsbe_SRCS
breezebutton.cpp
breezedecoration.cpp
breezesizegrip.cpp)
kconfig_add_kcfg_files(roundedsbe_SRCS breezesettings.kcfgc)
### config classes
### they are kept separately because they might move in a separate library in the future
set(roundedsbe_config_SRCS
config/breezeconfigwidget.cpp
config/breezedetectwidget.cpp
config/breezeexceptiondialog.cpp
config/breezeexceptionlistwidget.cpp
config/breezeexceptionmodel.cpp
config/breezeitemmodel.cpp
)
set(roundedsbe_config_PART_FORMS
config/ui/breezeconfigurationui.ui
config/ui/breezedetectwidget.ui
config/ui/breezeexceptiondialog.ui
config/ui/breezeexceptionlistwidget.ui
)
ki18n_wrap_ui(roundedsbe_config_PART_FORMS_HEADERS ${roundedsbe_config_PART_FORMS})
### build library
add_library(roundedsbe MODULE
${roundedsbe_SRCS}
${roundedsbe_config_SRCS}
${roundedsbe_config_PART_FORMS_HEADERS})
target_link_libraries(roundedsbe
PUBLIC
Qt5::Core
Qt5::Gui
Qt5::DBus
PRIVATE
roundedsbecommon5
KDecoration2::KDecoration
KF5::ConfigCore
KF5::CoreAddons
KF5::ConfigWidgets
KF5::GuiAddons
KF5::I18n
KF5::IconThemes
KF5::WindowSystem)
if(BREEZE_HAVE_X11)
target_link_libraries(roundedsbe
PUBLIC
Qt5::X11Extras
XCB::XCB)
endif()
install(TARGETS roundedsbe DESTINATION ${PLUGIN_INSTALL_DIR}/org.kde.kdecoration2)
install(FILES config/roundedsbeconfig.desktop DESTINATION ${SERVICES_INSTALL_DIR})
# install(TARGETS breezedecoration DESTINATION ${PLUGIN_INSTALL_DIR}/org.kde.kdecoration2)
# install(FILES config/breezedecorationconfig.desktop DESTINATION ${SERVICES_INSTALL_DIR})