-# 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
- ${CMAKE_CURRENT_BINARY_DIR}
- ${QUASSEL_QT_INCLUDES})
-
-if(WITH_QT5)
- qt5_wrap_ui(UI ${FORMPATH} ${SPFRM})
-else(WITH_QT5)
- qt4_wrap_ui(UI ${FORMPATH} ${SPFRM})
-endif(WITH_QT5)
-
-add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${DBUS} ${UI})
-add_dependencies(mod_qtui mod_common mod_client mod_uisupport)
-set_target_properties(mod_qtui PROPERTIES COMPILE_FLAGS "${QUASSEL_QT_COMPILEFLAGS}")
+if (Qt5Multimedia_FOUND)
+ target_compile_definitions(${TARGET} PRIVATE -DHAVE_QTMULTIMEDIA)
+ target_sources(${TARGET} PRIVATE
+ qtmultimedianotificationbackend.cpp
+ qtmultimedianotificationconfigwidget.ui
+ )
+ target_link_libraries(${TARGET} PRIVATE Qt5::Multimedia)
+endif()
+
+if (Qt5DBus_FOUND)
+ target_compile_definitions(${TARGET} PRIVATE -DHAVE_DBUS)
+ target_link_libraries(${TARGET} PRIVATE Qt5::DBus)
+ if (dbusmenu-qt5_FOUND)
+ target_compile_definitions(${TARGET} PRIVATE -DHAVE_DBUSMENU)
+ target_link_libraries(${TARGET} PRIVATE dbusmenu-qt5)
+ endif()
+
+ qt5_add_dbus_interface(DBUS_SOURCES ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher)
+ qt5_add_dbus_interface(DBUS_SOURCES ../../interfaces/org.freedesktop.Notifications.xml notificationsclient)
+ qt5_add_dbus_adaptor (DBUS_SOURCES ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus)
+
+ target_sources(${TARGET} PRIVATE
+ dockmanagernotificationbackend.cpp
+ statusnotifieritem.cpp
+ statusnotifieritemdbus.cpp
+ ${DBUS_SOURCES}
+ )
+endif()
+
+if (HAVE_WEBKIT)
+ target_compile_definitions(${TARGET} PRIVATE -DHAVE_WEBKIT)
+ target_link_libraries(${TARGET} PRIVATE
+ Qt5::WebKit
+ Qt5::WebKitWidgets
+ )
+endif()
+
+if (HAVE_WEBENGINE)
+ target_compile_definitions(${TARGET} PRIVATE -DHAVE_WEBENGINE)
+ target_link_libraries(${TARGET} PRIVATE
+ Qt5::WebEngine
+ Qt5::WebEngineWidgets)
+endif()
+
+if (HAVE_SSL)
+ target_sources(${TARGET} PRIVATE
+ sslinfodlg.cpp
+ sslinfodlg.ui
+ )
+endif()
+
+if (LibsnoreQt5_FOUND)
+ target_compile_definitions(${TARGET} PRIVATE -DHAVE_LIBSNORE)
+ target_sources(${TARGET} PRIVATE
+ snorenotificationbackend.cpp
+ snorentificationconfigwidget.ui
+ )
+ target_link_libraries(${TARGET} PRIVATE Snore::Libsnore Snore::LibsnoreSettings)
+endif()
+
+if (WITH_NOTIFICATION_CENTER)
+ target_compile_definitions(${TARGET} PRIVATE -DHAVE_NOTIFICATION_CENTER)
+ target_sources(${TARGET} PRIVATE osxnotificationbackend.mm)
+ target_link_libraries(${TARGET} PRIVATE "/System/Library/Frameworks/Foundation.framework")
+endif()
+
+if (WITH_OXYGEN_ICONS)
+ set_property(SOURCE qtui.cpp APPEND PROPERTY COMPILE_DEFINITIONS WITH_OXYGEN_ICONS)
+endif()