2 find_package(Qt6 ${minQt6Version} REQUIRED COMPONENTS Widgets Svg)
4 find_package(Qt5 ${minQt5Version} REQUIRED COMPONENTS Widgets Svg)
5 if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
6 find_package(Qt5 ${minQt5Version} REQUIRED COMPONENTS WinExtras)
10 # CMAKE_AUTO_UI causes unnecessary rebuilds
13 addnewtorrentdialog.ui
14 autoexpandabledialog.ui
15 banlistoptionsdialog.ui
17 deletionconfirmationdialog.ui
18 downloadfromurldialog.ui
20 ipsubnetwhitelistoptionsdialog.ui
23 previewselectdialog.ui
24 properties/peersadditiondialog.ui
25 properties/propertieswidget.ui
26 properties/trackersadditiondialog.ui
27 rss/automatedrssdownloader.ui
29 search/pluginselectdialog.ui
30 search/pluginsourcedialog.ui
31 search/searchjobwidget.ui
32 search/searchwidget.ui
33 shutdownconfirmdialog.ui
36 torrentcategorydialog.ui
37 torrentcreatordialog.ui
38 torrentoptionsdialog.ui
40 trackerentriesdialog.ui
42 watchedfolderoptionsdialog.ui
45 add_library(qbt_gui STATIC
50 autoexpandabledialog.h
51 banlistoptionsdialog.h
55 deletionconfirmationdialog.h
57 downloadfromurldialog.h
62 guiapplicationcomponent.h
64 interfaces/iguiapplication.h
65 ipsubnetwhitelistoptionsdialog.h
72 powermanagement/powermanagement.h
76 properties/downloadedpiecesbar.h
77 properties/peerlistsortmodel.h
78 properties/peerlistwidget.h
79 properties/peersadditiondialog.h
80 properties/pieceavailabilitybar.h
81 properties/piecesbar.h
82 properties/propertieswidget.h
83 properties/proptabbar.h
84 properties/speedplotview.h
85 properties/speedwidget.h
86 properties/trackerlistwidget.h
87 properties/trackersadditiondialog.h
89 rss/articlelistwidget.h
90 rss/automatedrssdownloader.h
94 search/pluginselectdialog.h
95 search/pluginsourcedialog.h
96 search/searchjobwidget.h
97 search/searchsortmodel.h
99 shutdownconfirmdialog.h
103 torrentcategorydialog.h
104 torrentcontentfiltermodel.h
105 torrentcontentitemdelegate.h
106 torrentcontentmodel.h
107 torrentcontentmodelfile.h
108 torrentcontentmodelfolder.h
109 torrentcontentmodelitem.h
110 torrentcontentwidget.h
111 torrentcreatordialog.h
112 torrentoptionsdialog.h
114 trackerentriesdialog.h
115 transferlistdelegate.h
116 transferlistfilters/basefilterwidget.h
117 transferlistfilters/categoryfiltermodel.h
118 transferlistfilters/categoryfilterproxymodel.h
119 transferlistfilters/categoryfilterwidget.h
120 transferlistfilters/statusfilterwidget.h
121 transferlistfilters/tagfiltermodel.h
122 transferlistfilters/tagfilterproxymodel.h
123 transferlistfilters/tagfilterwidget.h
124 transferlistfilters/trackersfilterwidget.h
125 transferlistfilterswidget.h
127 transferlistsortmodel.h
136 watchedfolderoptionsdialog.h
137 watchedfoldersmodel.h
142 addnewtorrentdialog.cpp
144 autoexpandabledialog.cpp
145 banlistoptionsdialog.cpp
148 deletionconfirmationdialog.cpp
149 desktopintegration.cpp
150 downloadfromurldialog.cpp
151 executionlogwidget.cpp
155 guiapplicationcomponent.cpp
157 ipsubnetwhitelistoptionsdialog.cpp
159 log/logfiltermodel.cpp
164 powermanagement/powermanagement.cpp
165 previewlistdelegate.cpp
166 previewselectdialog.cpp
167 progressbarpainter.cpp
168 properties/downloadedpiecesbar.cpp
169 properties/peerlistsortmodel.cpp
170 properties/peerlistwidget.cpp
171 properties/peersadditiondialog.cpp
172 properties/pieceavailabilitybar.cpp
173 properties/piecesbar.cpp
174 properties/propertieswidget.cpp
175 properties/proptabbar.cpp
176 properties/speedplotview.cpp
177 properties/speedwidget.cpp
178 properties/trackerlistwidget.cpp
179 properties/trackersadditiondialog.cpp
181 rss/articlelistwidget.cpp
182 rss/automatedrssdownloader.cpp
183 rss/feedlistwidget.cpp
186 search/pluginselectdialog.cpp
187 search/pluginsourcedialog.cpp
188 search/searchjobwidget.cpp
189 search/searchsortmodel.cpp
190 search/searchwidget.cpp
191 shutdownconfirmdialog.cpp
195 torrentcategorydialog.cpp
196 torrentcontentfiltermodel.cpp
197 torrentcontentitemdelegate.cpp
198 torrentcontentmodel.cpp
199 torrentcontentmodelfile.cpp
200 torrentcontentmodelfolder.cpp
201 torrentcontentmodelitem.cpp
202 torrentcontentwidget.cpp
203 torrentcreatordialog.cpp
204 torrentoptionsdialog.cpp
205 torrenttagsdialog.cpp
206 trackerentriesdialog.cpp
207 transferlistdelegate.cpp
208 transferlistfilters/basefilterwidget.cpp
209 transferlistfilters/categoryfiltermodel.cpp
210 transferlistfilters/categoryfilterproxymodel.cpp
211 transferlistfilters/categoryfilterwidget.cpp
212 transferlistfilters/statusfilterwidget.cpp
213 transferlistfilters/tagfiltermodel.cpp
214 transferlistfilters/tagfilterproxymodel.cpp
215 transferlistfilters/tagfilterwidget.cpp
216 transferlistfilters/trackersfilterwidget.cpp
217 transferlistfilterswidget.cpp
218 transferlistmodel.cpp
219 transferlistsortmodel.cpp
220 transferlistwidget.cpp
227 watchedfolderoptionsdialog.cpp
228 watchedfoldersmodel.cpp
230 # generated .ui headers
234 target_sources(qbt_gui INTERFACE about.qrc)
236 # UI headers will be generated in ${CMAKE_CURRENT_BINARY_DIR}
237 target_include_directories(qbt_gui PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
239 target_link_libraries(qbt_gui
247 target_sources(qbt_gui PRIVATE
248 notifications/dbusnotifier.h
249 notifications/dbusnotifier.cpp
250 notifications/dbusnotificationsinterface.h
251 notifications/dbusnotificationsinterface.cpp
252 powermanagement/powermanagement_x11.h
253 powermanagement/powermanagement_x11.cpp
258 qt_wrap_ui(STACKTRACE_UI_HEADERS stacktracedialog.ui)
260 target_sources(qbt_gui PRIVATE
263 ${STACKTRACE_UI_HEADERS}
267 if ((CMAKE_SYSTEM_NAME STREQUAL "Windows") OR (CMAKE_SYSTEM_NAME STREQUAL "Darwin"))
268 target_sources(qbt_gui PRIVATE
274 if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
275 target_link_libraries(qbt_gui PRIVATE PowrProf)
277 target_link_libraries(qbt_gui PRIVATE Qt5::WinExtras)
281 if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
282 target_sources(qbt_gui PRIVATE
286 target_link_libraries(qbt_gui PRIVATE objc)