This repository has been archived by the owner on Mar 15, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 19
/
CMakeLists.txt
154 lines (120 loc) · 4.32 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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
project(breezeblurred)
set(PROJECT_VERSION "0.1")
set(PROJECT_VERSION_MAJOR 0)
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
include(WriteBasicConfigVersionFile)
include(FeatureSummary)
find_package(ECM 0.0.9 REQUIRED NO_MODULE)
set(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)
#find_package(FFTW REQUIRED)
# old stuff
add_definitions(-DTRANSLATION_DOMAIN="breeze_kwin_deco")
find_package(KF5 REQUIRED COMPONENTS CoreAddons GuiAddons ConfigWidgets WindowSystem I18n)
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 "http://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 #################
include_directories(${CMAKE_SOURCE_DIR}/libbreezecommon)
include_directories(${CMAKE_BINARY_DIR}/libbreezecommon)
################# newt target #################
### plugin classes
# set(breezedecoration_SRCS
set(breezeblurred_SRCS
breezebutton.cpp
breezedecoration.cpp
breezeexceptionlist.cpp
breezesettingsprovider.cpp
breezesizegrip.cpp)
# kconfig_add_kcfg_files(breezedecoration_SRCS breezesettings.kcfgc)
kconfig_add_kcfg_files(breezeblurred_SRCS breezesettings.kcfgc)
### config classes
### they are kept separately because they might move in a separate library in the future
# set(breezedecoration_config_SRCS
set(breezeblurred_config_SRCS
config/breezeconfigwidget.cpp
config/breezedetectwidget.cpp
config/breezeexceptiondialog.cpp
config/breezeexceptionlistwidget.cpp
config/breezeexceptionmodel.cpp
config/breezeitemmodel.cpp
)
# set(breezedecoration_config_PART_FORMS
set(breezeblurred_config_PART_FORMS
config/ui/breezeconfigurationui.ui
config/ui/breezedetectwidget.ui
config/ui/breezeexceptiondialog.ui
config/ui/breezeexceptionlistwidget.ui
)
set(breezecommon_LIB_SRCS
breezeboxshadowrenderer.cpp
)
find_path(FFTW_INCLUDES fftw3.h)
find_library(FFTW_LIBRARIES NAMES fftw3)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FFTW DEFAULT_MSG
FFTW_INCLUDES FFTW_LIBRARIES)
mark_as_advanced(FFTW_INCLUDES FFTW_LIBRARIES)
# ki18n_wrap_ui(breezedecoration_config_PART_FORMS_HEADERS ${breezedecoration_config_PART_FORMS})
ki18n_wrap_ui(breezeblurred_config_PART_FORMS_HEADERS ${breezeblurred_config_PART_FORMS})
### build library
# add_library(breezedecoration MODULE
# ${breezedecoration_SRCS}
# ${breezedecoration_config_SRCS}
# ${breezedecoration_config_PART_FORMS_HEADERS})
add_library(breezeblurred MODULE
${breezeblurred_SRCS}
${breezeblurred_config_SRCS}
${breezeblurred_config_PART_FORMS_HEADERS}
${breezecommon_LIB_SRCS})
generate_export_header(breezeblurred
BASE_NAME breezecommon
EXPORT_FILE_NAME breezecommon_export.h)
# target_link_libraries(breezedecoration
target_link_libraries(breezeblurred
PUBLIC
Qt5::Core
Qt5::Gui
Qt5::DBus
PRIVATE
${FFTW_LIBRARIES}
KDecoration2::KDecoration
KF5::ConfigCore
KF5::CoreAddons
KF5::ConfigWidgets
KF5::GuiAddons
KF5::I18n
KF5::WindowSystem)
if(BREEZE_HAVE_X11)
# target_link_libraries(breezedecoration
target_link_libraries(breezeblurred
PUBLIC
Qt5::X11Extras
XCB::XCB)
endif()
install(TARGETS breezeblurred DESTINATION ${PLUGIN_INSTALL_DIR}/org.kde.kdecoration2)
install(FILES config/breezeblurredconfig.desktop DESTINATION ${SERVICES_INSTALL_DIR})
# install(TARGETS breezedecoration DESTINATION ${PLUGIN_INSTALL_DIR}/org.kde.kdecoration2)
# install(FILES config/breezedecorationconfig.desktop DESTINATION ${SERVICES_INSTALL_DIR})