cmake: Remove build system support for Qt4/KDE4
[quassel.git] / src / qtui / CMakeLists.txt
index e2f7eb0..3564dc3 100644 (file)
@@ -22,9 +22,10 @@ set(SOURCES
     coreconnectdlg.cpp
     coreconnectionstatuswidget.cpp
     coreinfodlg.cpp
+    coresessionwidget.cpp
     debugbufferviewoverlay.cpp
     debugconsole.cpp
-    debuglogwidget.cpp
+    debuglogdlg.cpp
     debugmessagemodelfilter.cpp
     inputwidget.cpp
     ircconnectionwizard.cpp
@@ -34,6 +35,7 @@ set(SOURCES
     markerlineitem.cpp
     msgprocessorstatuswidget.cpp
     nicklistwidget.cpp
+    passwordchangedlg.cpp
     qtui.cpp
     qtuiapplication.cpp
     qtuimessageprocessor.cpp
@@ -44,6 +46,7 @@ set(SOURCES
     settingspagedlg.cpp
     simplenetworkeditor.cpp
     systemtray.cpp
+    systrayanimationnotificationbackend.cpp
     systraynotificationbackend.cpp
     taskbarnotificationbackend.cpp
     titlesetter.cpp
@@ -59,58 +62,99 @@ set(FORMS
     channellistdlg.ui
     chatviewsearchbar.ui
     coreconfigwizardintropage.ui
+    coreconfigwizardauthenticationselectionpage.ui
     coreconfigwizardadminuserpage.ui
     coreconfigwizardstorageselectionpage.ui
     coreconfigwizardsyncpage.ui
     coreconnectauthdlg.ui
     coreconnectionstatuswidget.ui
     coreinfodlg.ui
+    coresessionwidget.ui
     debugbufferviewoverlay.ui
     debugconsole.ui
-    debuglogwidget.ui
+    debuglogdlg.ui
     inputwidget.ui
     msgprocessorstatuswidget.ui
     nicklistwidget.ui
+    passwordchangedlg.ui
+    receivefiledlg.ui
     settingsdlg.ui
     settingspagedlg.ui
     simplenetworkeditor.ui
-    receivefiledlg.ui
-    topicwidget.ui)
-
-if(HAVE_KDE)
-  set(SOURCES ${SOURCES} knotificationbackend.cpp)
-else(HAVE_KDE)
-  if(HAVE_SNORENOTIFY)
-    set(SOURCES ${SOURCES} snorenotificationbackend.cpp)
-    set(FORMS ${FORMS} snorentificationconfigwidget.ui)
-  endif(HAVE_SNORENOTIFY)
-  if(HAVE_PHONON)
-    set(SOURCES ${SOURCES} phononnotificationbackend.cpp)
-    set(FORMS ${FORMS} phononnotificationconfigwidget.ui)
+    systrayanimationconfigwidget.ui
+    topicwidget.ui
+)
+
+set(LIBS )
+set(QT_MODULES )
+
+if (WITH_KF5)
+    list(APPEND SOURCES knotificationbackend.cpp)
+    list(APPEND LIBS KF5::ConfigWidgets KF5::Notifications KF5::NotifyConfig KF5::WidgetsAddons KF5::XmlGui)
+endif()
+
+if (LibsnoreQt5_FOUND)
+    add_definitions(-DHAVE_LIBSNORE)
+    list(APPEND SOURCES snorenotificationbackend.cpp)
+    list(APPEND FORMS   snorentificationconfigwidget.ui)
+    list(APPEND LIBS    Snore::Libsnore Snore::LibsnoreSettings)
+endif()
+
+if (Qt5Multimedia_FOUND)
+    add_definitions(-DHAVE_QTMULTIMEDIA)
+    list(APPEND QT_MODULES Multimedia)
+    set(SOURCES ${SOURCES} qtmultimedianotificationbackend.cpp)
+    set(FORMS ${FORMS}     qtmultimedianotificationconfigwidget.ui)
+endif()
+
+if (Phonon4Qt5_FOUND)
+    add_definitions(-DHAVE_PHONON)
     include_directories(${PHONON_INCLUDES})
-  endif(HAVE_PHONON)
-endif(HAVE_KDE)
+    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 (Qt5DBus_FOUND)
+    add_definitions(-DHAVE_DBUS)
+    list(APPEND QT_MODULES DBus)
+    if (dbusmenu-qt5_FOUND)
+        add_definitions(-DHAVE_DBUSMENU)
+        include_directories(${dbusmenu-qt5_INCLUDE_DIRS})
+        list(APPEND LIBS dbusmenu-qt5)
+    endif()
+
+    list(APPEND SOURCES statusnotifieritem.cpp statusnotifieritemdbus.cpp dockmanagernotificationbackend.cpp)
+    qt5_add_dbus_interface(SOURCES ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher)
+    qt5_add_dbus_interface(SOURCES ../../interfaces/org.freedesktop.Notifications.xml notificationsclient)
+    qt5_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 WebKitWidgets)
+endif()
 
-if (HAVE_DBUS)
-    set(SOURCES ${SOURCES} statusnotifieritem.cpp statusnotifieritemdbus.cpp dockmanagernotificationbackend.cpp)
-    qt_add_dbus_interface(DBUS ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher)
-    qt_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml notificationsclient)
-    qt_add_dbus_adaptor(DBUS ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus)
-endif(HAVE_DBUS)
+if (HAVE_WEBENGINE)
+    add_definitions(-DHAVE_WEBENGINE)
+    list(APPEND QT_MODULES WebEngine WebEngineWidgets)
+endif()
 
 if(HAVE_SSL)
   set(SOURCES ${SOURCES} sslinfodlg.cpp)
   set(FORMS ${FORMS} sslinfodlg.ui)
-endif(HAVE_SSL)
+endif()
 
-if(INDICATEQT_FOUND)
-  set(SOURCES ${SOURCES} indicatornotificationbackend.cpp)
-  set(FORMS ${FORMS} indicatornotificationconfigwidget.ui)
-  include_directories(${INDICATEQT_INCLUDE_DIRS})
-endif(INDICATEQT_FOUND)
+if (WITH_NOTIFICATION_CENTER)
+    add_definitions(-DHAVE_NOTIFICATION_CENTER)
+    list(APPEND SOURCES osxnotificationbackend.mm)
+    list(APPEND LIBS "/System/Library/Frameworks/Foundation.framework")
+endif()
 
-if(HAVE_NOTIFICATION_CENTER)
-  set(SOURCES ${SOURCES} osxnotificationbackend.mm)
+if (KF5Sonnet_FOUND)
+    add_definitions(-DHAVE_SONNET)
+    list(APPEND SOURCES settingspages/sonnetsettingspage.cpp)
+    list(APPEND LIBS KF5::SonnetUi)
 endif()
 
 foreach(FORM ${FORMS})
@@ -135,24 +179,11 @@ include_directories(${CMAKE_SOURCE_DIR}/src/common
                     ${CMAKE_SOURCE_DIR}/src/qtui
                     ${CMAKE_SOURCE_DIR}/src/qtui/settingspages
                     ${CMAKE_SOURCE_DIR}/src/uisupport
-
 )
 
-qt_wrap_ui(UI ${FORMPATH} ${SPFRM})
-
-if (WITH_QT5)
-    list(APPEND qt_modules Widgets)
-endif()
-
-if (HAVE_DBUS)
-    list(APPEND qt_modules DBus)
-endif()
-
-if (HAVE_WEBKIT)
-    list(APPEND qt_modules Webkit XmlPatterns)
-endif()
+qt5_wrap_ui(UI ${FORMPATH} ${SPFRM})
 
-add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${DBUS} ${UI})
-qt_use_modules(mod_qtui Core Gui Network ${qt_modules})
+add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${UI})
+qt5_use_modules(mod_qtui Core Gui Network Widgets ${QT_MODULES})
 
-add_dependencies(mod_qtui mod_common mod_client mod_uisupport)
+target_link_libraries(mod_qtui mod_client mod_common mod_uisupport ${LIBS})