Completely rework the dependency handling in the build system
[quassel.git] / src / client / CMakeLists.txt
index c009f5b..bc74ecc 100644 (file)
@@ -1,20 +1,17 @@
 # Builds the client module
 
-# We still have some minor deps to QtUi: QItemSelectionModel
-# set(QT_DONT_USE_QTGUI 1)
-set(QT_USE_QTNETWORK 1)
-set(QT_USE_QTDBUS 1)
-include(${QT_USE_FILE})
+# In Qt4, we still have some minor deps to QtGui: QItemSelectionModel, QSortFilterProxyModel
+# Still in Qt5: QAbstractItemView in BufferModel
 
 set(SOURCES
     abstractmessageprocessor.cpp
-    abstractui.cpp
     backlogrequester.cpp
     buffermodel.cpp
     buffersettings.cpp
     bufferviewoverlay.cpp
     client.cpp
     clientaliasmanager.cpp
+    clientauthhandler.cpp
     clientbacklogmanager.cpp
     clientbufferviewconfig.cpp
     clientbufferviewmanager.cpp
@@ -22,54 +19,39 @@ set(SOURCES
     clientignorelistmanager.cpp
     clientirclisthelper.cpp
     clientsettings.cpp
-    clientsyncer.cpp
+    clienttransfer.cpp
+    clienttransfermanager.cpp
     clientuserinputhandler.cpp
     coreaccount.cpp
     coreaccountmodel.cpp
+    coreconnection.cpp
     execwrapper.cpp
     irclistmodel.cpp
     messagefilter.cpp
     messagemodel.cpp
     networkmodel.cpp
     selectionmodelsynchronizer.cpp
-    treemodel.cpp)
+    treemodel.cpp
 
-set(MOC_HDRS
-    abstractmessageprocessor.h
+    # needed for automoc
     abstractui.h
-    buffermodel.h
-    bufferviewoverlay.h
-    client.h
-    clientaliasmanager.h
-    clientbacklogmanager.h
-    clientbufferviewconfig.h
-    clientbufferviewmanager.h
     clientcoreinfo.h
-    clientidentity.h
-    clientignorelistmanager.h
-    clientirclisthelper.h
-    clientuserinputhandler.h
-    clientsyncer.h
-    coreaccountmodel.h
-    execwrapper.h
-    irclistmodel.h
-    messagefilter.h
-    messagemodel.h
-    networkmodel.h
-    selectionmodelsynchronizer.h
-    treemodel.h)
+)
 
-set(HEADERS
-    backlogsettings.h
-    backlogrequester.h
-    buffersettings.h
-    clientsettings.h
-    coreaccount.h
-   )
+if (KDE4_FOUND)
+    include_directories(${KDE4_INCLUDES})
+    add_definitions(-DHAVE_KDE ${KDE4_DEFINITIONS})
+endif()
 
-qt4_wrap_cpp(MOC ${MOC_HDRS})
+if (USE_QT5)
+    list(APPEND qt_modules Widgets)
+endif()
 
-include_directories(${CMAKE_SOURCE_DIR}/src/common)
+add_library(mod_client STATIC ${SOURCES})
+qt_use_modules(mod_client Network Core Gui ${qt_modules})
+
+if (KDE4_FOUND)
+    target_link_libraries(mod_client ${KDE4_SOLID_LIBS})
+endif()
 
-add_library(mod_client STATIC ${SOURCES} ${MOC} ${HEADERS})
 add_dependencies(mod_client mod_common)