Completely rework the dependency handling in the build system
[quassel.git] / src / client / CMakeLists.txt
index 0a9f1f5..bc74ecc 100644 (file)
@@ -1,56 +1,57 @@
 # 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
     backlogrequester.cpp
     buffermodel.cpp
     buffersettings.cpp
+    bufferviewoverlay.cpp
     client.cpp
+    clientaliasmanager.cpp
+    clientauthhandler.cpp
     clientbacklogmanager.cpp
+    clientbufferviewconfig.cpp
+    clientbufferviewmanager.cpp
     clientidentity.cpp
+    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
-    quasselui.cpp
     selectionmodelsynchronizer.cpp
-    treemodel.cpp)
+    treemodel.cpp
 
-set(MOC_HDRS
-    abstractmessageprocessor.h
-    buffermodel.h
-    client.h
-    clientbacklogmanager.h
+    # needed for automoc
+    abstractui.h
     clientcoreinfo.h
-    clientidentity.h
-    clientirclisthelper.h
-    clientsyncer.h
-    irclistmodel.h
-    messagefilter.h
-    messagemodel.h
-    networkmodel.h
-    quasselui.h
-    selectionmodelsynchronizer.h
-    treemodel.h)
-
-set(HEADERS
-    backlogsettings.h
-    backlogrequester.h
-    buffersettings.h
-    clientsettings.h)
-
-qt4_wrap_cpp(MOC ${MOC_HDRS})
-
-include_directories(${CMAKE_SOURCE_DIR}/src/common)
-
-add_library(mod_client STATIC ${SOURCES} ${MOC} ${HEADERS})
+)
+
+if (KDE4_FOUND)
+    include_directories(${KDE4_INCLUDES})
+    add_definitions(-DHAVE_KDE ${KDE4_DEFINITIONS})
+endif()
+
+if (USE_QT5)
+    list(APPEND qt_modules Widgets)
+endif()
+
+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_dependencies(mod_client mod_common)