# Builds the qtui module set(SOURCES aboutdlg.cpp awaylogfilter.cpp awaylogview.cpp bufferwidget.cpp channellistdlg.cpp chatitem.cpp chatline.cpp chatlinemodel.cpp chatlinemodelitem.cpp chatmonitorfilter.cpp chatmonitorview.cpp chatscene.cpp chatview.cpp chatviewsearchbar.cpp chatviewsearchcontroller.cpp chatviewsettings.cpp columnhandleitem.cpp coreconfigwizard.cpp coreconnectdlg.cpp coreconnectionstatuswidget.cpp coreinfodlg.cpp debugbufferviewoverlay.cpp debugconsole.cpp debuglogwidget.cpp debugmessagemodelfilter.cpp inputwidget.cpp ircconnectionwizard.cpp legacysystemtray.cpp mainpage.cpp mainwin.cpp markerlineitem.cpp msgprocessorstatuswidget.cpp nicklistwidget.cpp passwordchangedlg.cpp qtui.cpp qtuiapplication.cpp qtuimessageprocessor.cpp qtuisettings.cpp qtuistyle.cpp receivefiledlg.cpp settingsdlg.cpp settingspagedlg.cpp simplenetworkeditor.cpp systemtray.cpp systraynotificationbackend.cpp taskbarnotificationbackend.cpp titlesetter.cpp topicwidget.cpp verticaldock.cpp webpreviewitem.cpp ) set(FORMS aboutdlg.ui bufferviewwidget.ui bufferwidget.ui channellistdlg.ui chatviewsearchbar.ui coreconfigwizardintropage.ui coreconfigwizardadminuserpage.ui coreconfigwizardstorageselectionpage.ui coreconfigwizardsyncpage.ui coreconnectauthdlg.ui coreconnectionstatuswidget.ui coreinfodlg.ui debugbufferviewoverlay.ui debugconsole.ui debuglogwidget.ui inputwidget.ui msgprocessorstatuswidget.ui nicklistwidget.ui passwordchangedlg.ui settingsdlg.ui settingspagedlg.ui simplenetworkeditor.ui receivefiledlg.ui topicwidget.ui ) set(LIBS ) set(QT_MODULES ) if (WITH_KDE4) add_definitions(-DHAVE_KDE ${KDE4_DEFINITIONS}) include_directories(${KDE4_INCLUDES}) list(APPEND SOURCES knotificationbackend.cpp) list(APPEND LIBS ${KDE4_KDECORE_LIBS} ${KDE4_KDEUI_LIBRARY} ${KDE4_KNOTIFYCONFIG_LIBRARY}) endif() if (WITH_KF5) list(APPEND SOURCES knotificationbackend.cpp) list(APPEND LIBS KF5::ConfigWidgets KF5::Notifications KF5::NotifyConfig KF5::WidgetsAddons KF5::XmlGui) endif() if (LIBSNORE_FOUND) add_definitions(-DHAVE_LIBSNORE) include_directories(${LIBSNORE_INCLUDE_DIRS}) list(APPEND SOURCES snorenotificationbackend.cpp) list(APPEND FORMS snorentificationconfigwidget.ui) list(APPEND LIBS ${LIBSNORE_LIBRARIES}) endif() if (PHONON_FOUND OR Phonon4Qt5_FOUND) add_definitions(-DHAVE_PHONON) include_directories(${PHONON_INCLUDES}) set(SOURCES ${SOURCES} phononnotificationbackend.cpp) set(FORMS ${FORMS} phononnotificationconfigwidget.ui) list(APPEND LIBS ${PHONON_LIBS}) # PHONON_LIBRARIES only exists in config mode, it's not set by the legacy FindPhonon.cmake endif() if (QT_QTDBUS_FOUND OR Qt5DBus_FOUND) add_definitions(-DHAVE_DBUS) list(APPEND QT_MODULES DBus) if (dbusmenu-qt_FOUND OR dbusmenu-qt5_FOUND) add_definitions(-DHAVE_DBUSMENU) include_directories(${dbusmenu-qt_INCLUDE_DIRS} ${dbusmenu-qt5_INCLUDE_DIRS}) if (dbusmenu-qt_FOUND) list(APPEND LIBS dbusmenu-qt) else() list(APPEND LIBS dbusmenu-qt5) endif() endif() list(APPEND SOURCES statusnotifieritem.cpp statusnotifieritemdbus.cpp dockmanagernotificationbackend.cpp) qt_add_dbus_interface(SOURCES ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher) qt_add_dbus_interface(SOURCES ../../interfaces/org.freedesktop.Notifications.xml notificationsclient) qt_add_dbus_adaptor (SOURCES ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus) endif() if (HAVE_WEBKIT) add_definitions(-DHAVE_WEBKIT) list(APPEND QT_MODULES WebKit) if (USE_QT5) list(APPEND QT_MODULES WebKitWidgets) endif() endif() if(HAVE_SSL) set(SOURCES ${SOURCES} sslinfodlg.cpp) set(FORMS ${FORMS} sslinfodlg.ui) endif(HAVE_SSL) if (INDICATEQT_FOUND) add_definitions(-DHAVE_INDICATEQT) include_directories(${INDICATEQT_INCLUDE_DIRS}) list(APPEND SOURCES indicatornotificationbackend.cpp) list(APPEND FORMS indicatornotificationconfigwidget.ui) list(APPEND LIBS ${INDICATEQT_LIBRARIES}) endif() if (WITH_NOTIFICATION_CENTER) add_definitions(-DHAVE_NOTIFICATION_CENTER) list(APPEND SOURCES osxnotificationbackend.mm) list(APPEND LIBS "/System/Library/Frameworks/Foundation.framework") endif() foreach(FORM ${FORMS}) set(FORMPATH ${FORMPATH} ui/${FORM}) endforeach(FORM ${FORMS}) # handle settingspages include(settingspages/settingspages.cmake) foreach(SP ${SETTINGSPAGES}) set(SPSRC ${SPSRC} settingspages/${SP}settingspage.cpp) set(SPFRM ${SPFRM} settingspages/${SP}settingspage.ui) endforeach(SP ${SETTINGSPAGES}) foreach(SRC ${SP_SOURCES}) set(SPSRC ${SPSRC} settingspages/${SRC}) endforeach(SRC ${SP_SOURCES}) foreach(FRM ${SP_FORMS}) set(SPFRM ${SPFRM} settingspages/${FRM}) endforeach(FRM ${SP_FORMS}) include_directories(${CMAKE_SOURCE_DIR}/src/common ${CMAKE_SOURCE_DIR}/src/client ${CMAKE_SOURCE_DIR}/src/qtui ${CMAKE_SOURCE_DIR}/src/qtui/settingspages ${CMAKE_SOURCE_DIR}/src/uisupport ) qt_wrap_ui(UI ${FORMPATH} ${SPFRM}) if (USE_QT5) list(APPEND QT_MODULES Widgets) endif() add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${UI}) qt_use_modules(mod_qtui Core Gui Network ${QT_MODULES}) target_link_libraries(mod_qtui mod_client mod_common mod_uisupport ${LIBS})