Rename settingspages.inc to settingspages.cmake
[quassel.git] / src / qtui / CMakeLists.txt
index aa0496d..e696606 100644 (file)
@@ -1,15 +1,20 @@
 # Builds the qtui module
 
-set(QT_DONT_USE_QTGUI 0)
-set(QT_USE_QTNETWORK 1)
+set(_modules )
+
+if(WITH_QT5)
+  list(APPEND _modules Widgets)
+endif(WITH_QT5)
+
 if(HAVE_DBUS)
-  set(QT_USE_QTDBUS 1)
+  list(APPEND _modules DBus)
 endif(HAVE_DBUS)
+
 if(HAVE_WEBKIT)
-  set(QT_USE_QTWEBKIT 1)
-  set(QT_USE_XMLPATTERNS 1)
+  list(APPEND _modules Webkit XmlPatterns)
 endif(HAVE_WEBKIT)
-include(${QT_USE_FILE})
+
+setup_qt_variables(Gui Network ${_modules})
 
 set(SOURCES
     aboutdlg.cpp
@@ -150,12 +155,18 @@ else(HAVE_KDE)
 endif(HAVE_KDE)
 
 if(HAVE_DBUS)
-  set(SOURCES ${SOURCES} statusnotifieritem.cpp statusnotifieritemdbus.cpp)
-  set(MOC_HDRS ${MOC_HDRS} statusnotifieritem.h statusnotifieritemdbus.h)
+  set(SOURCES ${SOURCES} statusnotifieritem.cpp statusnotifieritemdbus.cpp dockmanagernotificationbackend.cpp)
+  set(MOC_HDRS ${MOC_HDRS} statusnotifieritem.h statusnotifieritemdbus.h dockmanagernotificationbackend.h)
   set(FORMS ${FORMS})
-  qt4_add_dbus_interface(DBUS ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher)
-  qt4_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml notificationsclient)
-  qt4_add_dbus_adaptor(DBUS ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus)  
+  if(WITH_QT5)
+    qt5_add_dbus_interface(DBUS ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher)
+    qt5_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml notificationsclient)
+    qt5_add_dbus_adaptor(DBUS ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus)
+  else(WITH_QT5)
+    qt4_add_dbus_interface(DBUS ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher)
+    qt4_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml notificationsclient)
+    qt4_add_dbus_adaptor(DBUS ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus)
+  endif(WITH_QT5)
 endif(HAVE_DBUS)
 
 if(HAVE_SSL)
@@ -171,12 +182,17 @@ if(INDICATEQT_FOUND)
   include_directories(${INDICATEQT_INCLUDE_DIRS})
 endif(INDICATEQT_FOUND)
 
+if(HAVE_NOTIFICATION_CENTER)
+  set(SOURCES ${SOURCES} osxnotificationbackend.mm)
+  set(MOC_HDRS ${MOC_HDRS} osxnotificationbackend.h)
+endif()
+
 foreach(FORM ${FORMS})
   set(FORMPATH ${FORMPATH} ui/${FORM})
 endforeach(FORM ${FORMS})
 
 # handle settingspages
-include(settingspages/settingspages.inc)
+include(settingspages/settingspages.cmake)
 foreach(SP ${SETTINGSPAGES})
   set(SPSRC ${SPSRC} settingspages/${SP}settingspage.cpp)
   set(SPHDR ${SPHDR} settingspages/${SP}settingspage.h)
@@ -192,15 +208,21 @@ foreach(FRM ${SP_FORMS})
   set(SPFRM ${SPFRM} settingspages/${FRM})
 endforeach(FRM ${SP_FORMS})
 
-qt4_wrap_cpp(MOC ${MOC_HDRS} ${SPHDR})
-qt4_wrap_ui(UI ${FORMPATH} ${SPFRM})
-
 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})
+                    ${CMAKE_CURRENT_BINARY_DIR}
+                    ${QUASSEL_QT_INCLUDES})
+
+if(WITH_QT5)
+  qt5_wrap_ui(UI ${FORMPATH} ${SPFRM})
+else(WITH_QT5)
+  qt4_wrap_cpp(MOC ${MOC_HDRS} ${SPHDR})
+  qt4_wrap_ui(UI ${FORMPATH} ${SPFRM})
+endif(WITH_QT5)
 
 add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${MOC} ${DBUS} ${UI} ${HEADERS})
 add_dependencies(mod_qtui mod_common mod_client mod_uisupport)
+set_target_properties(mod_qtui PROPERTIES COMPILE_FLAGS "${QUASSEL_QT_COMPILEFLAGS}")