Warning, /network/neochat/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2020-2021 Carl Schwan <carl@carlschwan.eu> 0002 # SPDX-FileCopyrightText: 2020-2021 Nicolas Fella <nicolas.fella@gmx.de> 0003 # SPDX-FileCopyrightText: 2020-2021 Tobias Fella <tobias.fella@kde.org> 0004 # SPDX-License-Identifier: BSD-2-Clause 0005 0006 add_library(neochat STATIC 0007 controller.cpp 0008 controller.h 0009 actionshandler.cpp 0010 actionshandler.h 0011 models/emojimodel.cpp 0012 models/emojimodel.h 0013 emojitones.cpp 0014 emojitones.h 0015 models/customemojimodel.cpp 0016 models/customemojimodel.h 0017 clipboard.cpp 0018 clipboard.h 0019 matriximageprovider.cpp 0020 matriximageprovider.h 0021 models/messageeventmodel.cpp 0022 models/messageeventmodel.h 0023 models/messagefiltermodel.cpp 0024 models/messagefiltermodel.h 0025 models/roomlistmodel.cpp 0026 models/roomlistmodel.h 0027 models/sortfilterspacelistmodel.cpp 0028 models/sortfilterspacelistmodel.h 0029 models/accountemoticonmodel.cpp 0030 models/accountemoticonmodel.h 0031 spacehierarchycache.cpp 0032 spacehierarchycache.h 0033 roommanager.cpp 0034 roommanager.h 0035 neochatroom.cpp 0036 neochatroom.h 0037 models/userlistmodel.cpp 0038 models/userlistmodel.h 0039 models/userfiltermodel.cpp 0040 models/userfiltermodel.h 0041 models/publicroomlistmodel.cpp 0042 models/publicroomlistmodel.h 0043 models/spacechildrenmodel.cpp 0044 models/spacechildrenmodel.h 0045 models/spacechildsortfiltermodel.cpp 0046 models/spacechildsortfiltermodel.h 0047 models/spacetreeitem.cpp 0048 models/spacetreeitem.h 0049 models/userdirectorylistmodel.cpp 0050 models/userdirectorylistmodel.h 0051 models/pushrulemodel.cpp 0052 models/pushrulemodel.h 0053 models/emoticonfiltermodel.cpp 0054 models/emoticonfiltermodel.h 0055 notificationsmanager.cpp 0056 notificationsmanager.h 0057 models/sortfilterroomlistmodel.cpp 0058 models/sortfilterroomlistmodel.h 0059 chatdocumenthandler.cpp 0060 chatdocumenthandler.h 0061 models/devicesmodel.cpp 0062 models/devicesmodel.h 0063 models/devicesproxymodel.cpp 0064 filetype.cpp 0065 filetype.h 0066 login.cpp 0067 login.h 0068 models/webshortcutmodel.cpp 0069 models/webshortcutmodel.h 0070 blurhash.cpp 0071 blurhash.h 0072 blurhashimageprovider.cpp 0073 blurhashimageprovider.h 0074 models/mediamessagefiltermodel.cpp 0075 models/mediamessagefiltermodel.h 0076 urlhelper.cpp 0077 urlhelper.h 0078 windowcontroller.cpp 0079 windowcontroller.h 0080 linkpreviewer.cpp 0081 linkpreviewer.h 0082 models/completionmodel.cpp 0083 models/completionmodel.h 0084 models/completionproxymodel.cpp 0085 models/completionproxymodel.h 0086 models/actionsmodel.cpp 0087 models/actionsmodel.h 0088 models/serverlistmodel.cpp 0089 models/serverlistmodel.h 0090 models/statemodel.cpp 0091 models/statemodel.h 0092 models/statefiltermodel.cpp 0093 models/statefiltermodel.h 0094 filetransferpseudojob.cpp 0095 filetransferpseudojob.h 0096 models/searchmodel.cpp 0097 models/searchmodel.h 0098 texthandler.cpp 0099 texthandler.h 0100 logger.cpp 0101 logger.h 0102 models/stickermodel.cpp 0103 models/stickermodel.h 0104 models/imagepacksmodel.cpp 0105 models/imagepacksmodel.h 0106 events/imagepackevent.cpp 0107 events/imagepackevent.h 0108 events/joinrulesevent.cpp 0109 events/joinrulesevent.h 0110 models/reactionmodel.cpp 0111 models/reactionmodel.h 0112 delegatesizehelper.cpp 0113 delegatesizehelper.h 0114 models/livelocationsmodel.cpp 0115 models/livelocationsmodel.h 0116 models/locationsmodel.cpp 0117 models/locationsmodel.h 0118 locationhelper.cpp 0119 locationhelper.h 0120 events/pollevent.cpp 0121 pollhandler.cpp 0122 utils.h 0123 registration.cpp 0124 neochatconnection.cpp 0125 neochatconnection.h 0126 jobs/neochatdeactivateaccountjob.cpp 0127 jobs/neochatdeactivateaccountjob.h 0128 jobs/neochatdeletedevicejob.cpp 0129 jobs/neochatdeletedevicejob.h 0130 jobs/neochatchangepasswordjob.cpp 0131 jobs/neochatchangepasswordjob.h 0132 mediasizehelper.cpp 0133 mediasizehelper.h 0134 eventhandler.cpp 0135 enums/delegatetype.h 0136 roomlastmessageprovider.cpp 0137 roomlastmessageprovider.h 0138 chatbarcache.cpp 0139 chatbarcache.h 0140 colorschemer.cpp 0141 colorschemer.h 0142 models/notificationsmodel.cpp 0143 models/notificationsmodel.h 0144 models/timelinemodel.cpp 0145 models/timelinemodel.h 0146 enums/pushrule.h 0147 ) 0148 0149 qt_add_qml_module(neochat URI org.kde.neochat NO_PLUGIN 0150 QML_FILES 0151 qml/main.qml 0152 qml/AccountMenu.qml 0153 qml/ExploreComponent.qml 0154 qml/ExploreComponentMobile.qml 0155 qml/ContextMenu.qml 0156 qml/CollapsedRoomDelegate.qml 0157 qml/RoomDelegate.qml 0158 qml/RoomListPage.qml 0159 qml/SpaceListContextMenu.qml 0160 qml/UserInfo.qml 0161 qml/UserInfoDesktop.qml 0162 qml/RoomPage.qml 0163 qml/RoomWindow.qml 0164 qml/JoinRoomPage.qml 0165 qml/ManualRoomDialog.qml 0166 qml/ExplorerDelegate.qml 0167 qml/InviteUserPage.qml 0168 qml/StartChatPage.qml 0169 qml/ImageEditorPage.qml 0170 qml/WelcomePage.qml 0171 qml/General.qml 0172 qml/RoomSecurity.qml 0173 qml/PushNotification.qml 0174 qml/Categories.qml 0175 qml/Permissions.qml 0176 qml/NeochatMaximizeComponent.qml 0177 qml/FancyEffectsContainer.qml 0178 qml/TypingPane.qml 0179 qml/QuickSwitcher.qml 0180 qml/HoverActions.qml 0181 qml/ChatBar.qml 0182 qml/AttachmentPane.qml 0183 qml/ReplyPane.qml 0184 qml/CompletionMenu.qml 0185 qml/PieProgressBar.qml 0186 qml/QuickFormatBar.qml 0187 qml/RoomData.qml 0188 qml/ServerData.qml 0189 qml/EmojiPicker.qml 0190 qml/TimelineDelegate.qml 0191 qml/ReplyComponent.qml 0192 qml/StateDelegate.qml 0193 qml/RichLabel.qml 0194 qml/MessageDelegate.qml 0195 qml/Bubble.qml 0196 qml/SectionDelegate.qml 0197 qml/VideoDelegate.qml 0198 qml/ReactionDelegate.qml 0199 qml/LinkPreviewDelegate.qml 0200 qml/AudioDelegate.qml 0201 qml/FileDelegate.qml 0202 qml/ImageDelegate.qml 0203 qml/EncryptedDelegate.qml 0204 qml/EventDelegate.qml 0205 qml/TextDelegate.qml 0206 qml/ReadMarkerDelegate.qml 0207 qml/PollDelegate.qml 0208 qml/MimeComponent.qml 0209 qml/StateComponent.qml 0210 qml/MessageEditComponent.qml 0211 qml/AvatarFlow.qml 0212 qml/LoginStep.qml 0213 qml/Login.qml 0214 qml/Homeserver.qml 0215 qml/Username.qml 0216 qml/RegisterPassword.qml 0217 qml/Captcha.qml 0218 qml/Terms.qml 0219 qml/Email.qml 0220 qml/Password.qml 0221 qml/LoginRegister.qml 0222 qml/Loading.qml 0223 qml/LoginMethod.qml 0224 qml/Sso.qml 0225 qml/UserDetailDialog.qml 0226 qml/CreateRoomDialog.qml 0227 qml/EmojiDialog.qml 0228 qml/OpenFileDialog.qml 0229 qml/KeyVerificationDialog.qml 0230 qml/ConfirmLogoutDialog.qml 0231 qml/PowerLevelDialog.qml 0232 qml/Message.qml 0233 qml/EmojiItem.qml 0234 qml/EmojiRow.qml 0235 qml/EmojiSas.qml 0236 qml/ConfirmDeactivateAccountDialog.qml 0237 qml/VerificationCanceled.qml 0238 qml/GlobalMenu.qml 0239 qml/EditMenu.qml 0240 qml/MessageDelegateContextMenu.qml 0241 qml/FileDelegateContextMenu.qml 0242 qml/MessageSourceSheet.qml 0243 qml/ReportSheet.qml 0244 qml/SettingsPage.qml 0245 qml/ThemeRadioButton.qml 0246 qml/ColorScheme.qml 0247 qml/GeneralSettingsPage.qml 0248 qml/EmoticonsPage.qml 0249 qml/EmoticonEditorPage.qml 0250 qml/EmoticonFormCard.qml 0251 qml/GlobalNotificationsPage.qml 0252 qml/NotificationRuleItem.qml 0253 qml/AppearanceSettingsPage.qml 0254 qml/AccountsPage.qml 0255 qml/AccountEditorPage.qml 0256 qml/DevicesPage.qml 0257 qml/DeviceDelegate.qml 0258 qml/DevicesCard.qml 0259 qml/About.qml 0260 qml/AboutKDE.qml 0261 qml/SonnetConfigPage.qml 0262 qml/NetworkProxyPage.qml 0263 qml/DevtoolsPage.qml 0264 qml/ConfirmEncryptionDialog.qml 0265 qml/RemoveSheet.qml 0266 qml/BanSheet.qml 0267 qml/EmojiTonesPicker.qml 0268 qml/EmojiDelegate.qml 0269 qml/EmojiGrid.qml 0270 qml/SearchPage.qml 0271 qml/LocationDelegate.qml 0272 qml/LocationChooser.qml 0273 qml/TimelineView.qml 0274 qml/InvitationView.qml 0275 qml/AvatarTabButton.qml 0276 qml/SpaceDrawer.qml 0277 qml/OsmLocationPlugin.qml 0278 qml/LiveLocationDelegate.qml 0279 qml/FullScreenMap.qml 0280 qml/LocationsPage.qml 0281 qml/LocationMapItem.qml 0282 qml/RoomDrawer.qml 0283 qml/RoomDrawerPage.qml 0284 qml/DirectChatDrawerHeader.qml 0285 qml/GroupChatDrawerHeader.qml 0286 qml/RoomInformation.qml 0287 qml/RoomMedia.qml 0288 qml/ChooseRoomDialog.qml 0289 qml/ShareAction.qml 0290 qml/SpaceHomePage.qml 0291 qml/SpaceHierarchyDelegate.qml 0292 qml/RemoveChildDialog.qml 0293 qml/SelectParentDialog.qml 0294 qml/Security.qml 0295 qml/QrCodeMaximizeComponent.qml 0296 qml/SelectSpacesDialog.qml 0297 qml/AttachDialog.qml 0298 qml/NotificationsView.qml 0299 qml/LoadingDelegate.qml 0300 qml/TimelineEndDelegate.qml 0301 RESOURCES 0302 qml/confetti.png 0303 qml/glowdot.png 0304 ) 0305 0306 if(WIN32) 0307 set_target_properties(neochat PROPERTIES OUTPUT_NAME "neochatlib") 0308 endif() 0309 0310 ecm_qt_declare_logging_category(neochat 0311 HEADER "messageeventmodel_logging.h" 0312 IDENTIFIER "MessageEvent" 0313 CATEGORY_NAME "org.kde.neochat.messageeventmodel" 0314 DESCRIPTION "Neochat: messageeventmodel" 0315 DEFAULT_SEVERITY Info 0316 EXPORT NEOCHAT 0317 ) 0318 0319 ecm_qt_declare_logging_category(neochat 0320 HEADER "eventhandler_logging.h" 0321 IDENTIFIER "EventHandling" 0322 CATEGORY_NAME "org.kde.neochat.eventhandler" 0323 DEFAULT_SEVERITY Info 0324 ) 0325 0326 ecm_qt_declare_logging_category(neochat 0327 HEADER "chatdocumenthandler_logging.h" 0328 IDENTIFIER "ChatDocumentHandling" 0329 CATEGORY_NAME "org.kde.neochat.chatdocumenthandler" 0330 DEFAULT_SEVERITY Info 0331 ) 0332 0333 add_executable(neochat-app 0334 main.cpp 0335 ) 0336 0337 if(TARGET Qt::WebView) 0338 target_link_libraries(neochat-app PUBLIC Qt::WebView) 0339 target_compile_definitions(neochat-app PUBLIC -DHAVE_WEBVIEW) 0340 endif() 0341 0342 target_include_directories(neochat-app PRIVATE ${CMAKE_BINARY_DIR}) 0343 0344 target_link_libraries(neochat-app PRIVATE 0345 neochat 0346 ) 0347 0348 ecm_add_app_icon(NEOCHAT_ICON ICONS ${CMAKE_SOURCE_DIR}/128-logo.png) 0349 0350 target_sources(neochat-app PRIVATE ${NEOCHAT_ICON}) 0351 0352 if(NOT ANDROID) 0353 if (NOT WIN32 AND NOT APPLE) 0354 target_sources(neochat PRIVATE trayicon_sni.cpp trayicon_sni.h) 0355 target_link_libraries(neochat PRIVATE KF6::StatusNotifierItem) 0356 else() 0357 target_sources(neochat PRIVATE trayicon.cpp trayicon.h) 0358 endif() 0359 target_link_libraries(neochat PUBLIC KF6::WindowSystem ICU::uc) 0360 target_compile_definitions(neochat PUBLIC -DHAVE_WINDOWSYSTEM) 0361 target_compile_definitions(neochat PUBLIC -DHAVE_ICU) 0362 endif() 0363 0364 if (NOT ANDROID AND NOT WIN32 AND NOT APPLE) 0365 target_compile_definitions(neochat PUBLIC -DHAVE_RUNNER) 0366 target_compile_definitions(neochat PUBLIC -DHAVE_X11) 0367 target_sources(neochat PRIVATE runner.cpp) 0368 endif() 0369 0370 target_include_directories(neochat PRIVATE ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/models ${CMAKE_CURRENT_SOURCE_DIR}/enums) 0371 target_link_libraries(neochat PUBLIC 0372 Qt::Core 0373 Qt::Quick 0374 Qt::Qml 0375 Qt::Gui 0376 Qt::Multimedia 0377 Qt::Network 0378 Qt::QuickControls2 0379 KF6::I18n 0380 KF6::Kirigami 0381 KF6::Notifications 0382 KF6::ConfigCore 0383 KF6::ConfigGui 0384 KF6::CoreAddons 0385 KF6::SonnetCore 0386 KF6::ColorScheme 0387 KF6::ItemModels 0388 QuotientQt6 0389 cmark::cmark 0390 QCoro::Core 0391 QCoro::Network 0392 ) 0393 0394 kconfig_add_kcfg_files(neochat GENERATE_MOC neochatconfig.kcfgc) 0395 0396 if(NEOCHAT_FLATPAK) 0397 target_compile_definitions(neochat PUBLIC NEOCHAT_FLATPAK) 0398 endif() 0399 0400 if(ANDROID) 0401 target_sources(neochat PRIVATE notifyrc.qrc) 0402 target_link_libraries(neochat PRIVATE Qt::Svg OpenSSL::SSL) 0403 if(SQLite3_FOUND) 0404 target_link_libraries(neochat-app PRIVATE SQLite::SQLite3) 0405 endif() 0406 target_sources(neochat-app PRIVATE notifyrc.qrc) 0407 target_link_libraries(neochat PUBLIC Qt::Svg OpenSSL::SSL) 0408 kirigami_package_breeze_icons(ICONS 0409 "arrow-down" 0410 "arrow-up" 0411 "checkmark" 0412 "help-about" 0413 "im-user" 0414 "im-invisible-user" 0415 "im-kick-user" 0416 "mail-attachment" 0417 "dialog-cancel" 0418 "preferences-desktop-emoticons" 0419 "document-open" 0420 "document-save" 0421 "document-send" 0422 "dialog-close" 0423 "edit-delete-remove" 0424 "code-context" 0425 "document-edit" 0426 "list-user-add" 0427 "list-add-user" 0428 "user-others" 0429 "media-playback-pause" 0430 "media-playback-start" 0431 "media-playback-stop" 0432 "go-previous" 0433 "go-up" 0434 "go-down" 0435 "list-add" 0436 "irc-join-channel" 0437 "settings-configure" 0438 "configure" 0439 "rating" 0440 "rating-unrated" 0441 "search" 0442 "mail-replied-symbolic" 0443 "edit-clear" 0444 "edit-copy" 0445 "gtk-quit" 0446 "compass" 0447 "computer" 0448 "network-connect" 0449 "list-remove-user" 0450 "org.kde.neochat" 0451 "preferences-system-users" 0452 "preferences-desktop-theme-global" 0453 "notifications" 0454 "notifications-disabled" 0455 "audio-volume-high" 0456 "audio-volume-muted" 0457 "draw-highlight" 0458 "zoom-in" 0459 "zoom-out" 0460 "image-rotate-left-symbolic" 0461 "image-rotate-right-symbolic" 0462 "channel-secure-symbolic" 0463 "download" 0464 "smiley" 0465 "tools-check-spelling" 0466 "username-copy" 0467 "system-switch-user" 0468 "bookmark-new" 0469 "bookmark-remove" 0470 "favorite" 0471 "window-new" 0472 "globe" 0473 "visibility" 0474 "home" 0475 "preferences-desktop-notification" 0476 "computer-symbolic" 0477 "gps" 0478 "system-users-symbolic" 0479 "map-flat" 0480 "documentinfo" 0481 "view-list-details" 0482 "go-previous" 0483 "mail-forward-symbolic" 0484 "dialog-warning-symbolic" 0485 "object-rotate-left" 0486 "object-rotate-right" 0487 "add-subtitle" 0488 "security-low" 0489 "security-low-symbolic" 0490 "kde" 0491 "list-remove-symbolic" 0492 "edit-delete" 0493 ) 0494 ecm_add_android_apk(neochat-app ANDROID_DIR ${CMAKE_SOURCE_DIR}/android) 0495 else() 0496 target_link_libraries(neochat PUBLIC Qt::Widgets KF6::KIOWidgets) 0497 install(FILES neochat.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR}) 0498 endif() 0499 0500 if(NOT ANDROID) 0501 set_target_properties(neochat-app PROPERTIES OUTPUT_NAME "neochat") 0502 endif() 0503 0504 if(TARGET KF6::DBusAddons) 0505 target_link_libraries(neochat PUBLIC KF6::DBusAddons) 0506 target_compile_definitions(neochat PUBLIC -DHAVE_KDBUSADDONS) 0507 endif() 0508 0509 if (TARGET KF6::KIOWidgets) 0510 target_compile_definitions(neochat PUBLIC -DHAVE_KIO) 0511 endif() 0512 0513 if (TARGET KUnifiedPush) 0514 target_compile_definitions(neochat PUBLIC -DHAVE_KUNIFIEDPUSH) 0515 target_link_libraries(neochat PUBLIC KUnifiedPush) 0516 0517 if (NOT ANDROID) 0518 configure_file(org.kde.neochat.service.in ${CMAKE_CURRENT_BINARY_DIR}/org.kde.neochat.service) 0519 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.neochat.service DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR}) 0520 endif() 0521 endif() 0522 0523 install(TARGETS neochat-app ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0524 0525 if (NOT ANDROID AND NOT WIN32 AND NOT APPLE) 0526 install(FILES plasma-runner-neochat.desktop DESTINATION ${KDE_INSTALL_DATAROOTDIR}/krunner/dbusplugins) 0527 endif()