-# Builds the client module
+quassel_add_module(Client EXPORT)
-# In Qt4, we still have some minor deps to QtUi: QItemSelectionModel, QSortFilterProxyModel
-# Still in Qt5: QAbstractItemView in BufferModel
-
-set(_modules )
-
-if(WITH_QT5)
- list(APPEND _modules Widgets)
-endif(WITH_QT5)
-
-if(HAVE_DBUS)
- list(APPEND _modules DBus)
-endif(HAVE_DBUS)
-
-setup_qt_variables(Gui Network ${_modules})
-
-set(SOURCES
+target_sources(${TARGET} PRIVATE
abstractmessageprocessor.cpp
- abstractui.cpp
backlogrequester.cpp
+ backlogsettings.cpp
buffermodel.cpp
buffersettings.cpp
bufferviewoverlay.cpp
clientbacklogmanager.cpp
clientbufferviewconfig.cpp
clientbufferviewmanager.cpp
- clientcoreinfo.cpp
clientidentity.cpp
clientignorelistmanager.cpp
clientirclisthelper.cpp
clientsettings.cpp
+ clienttransfer.cpp
clienttransfermanager.cpp
clientuserinputhandler.cpp
coreaccount.cpp
messagemodel.cpp
networkmodel.cpp
selectionmodelsynchronizer.cpp
- treemodel.cpp)
+ transfermodel.cpp
+ treemodel.cpp
-set(MOC_HDRS
- abstractmessageprocessor.h
+ # needed for automoc
abstractui.h
- buffermodel.h
- bufferviewoverlay.h
- client.h
- clientaliasmanager.h
- clientauthhandler.h
- clientbacklogmanager.h
- clientbufferviewconfig.h
- clientbufferviewmanager.h
- clientcoreinfo.h
- clientidentity.h
- clientignorelistmanager.h
- clientirclisthelper.h
- clienttransfermanager.h
- clientuserinputhandler.h
- coreaccountmodel.h
- coreconnection.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
- )
-
-include_directories(${CMAKE_SOURCE_DIR}/src/common ${QUASSEL_QT_INCLUDES})
-
-if(NOT WITH_QT5)
- qt4_wrap_cpp(MOC ${MOC_HDRS})
-endif(NOT WITH_QT5)
-
-add_library(mod_client STATIC ${SOURCES} ${MOC} ${HEADERS})
-add_dependencies(mod_client mod_common)
-
-set_target_properties(mod_client PROPERTIES COMPILE_FLAGS "${QUASSEL_QT_COMPILEFLAGS}")
+)
+
+target_link_libraries(${TARGET}
+ PUBLIC
+ Qt5::Core
+ Qt5::Gui
+ Qt5::Network
+ Qt5::Widgets # QAbstractItemView in BufferModel
+ Quassel::Common
+)
+
+if (EMBED_DATA)
+ set_property(SOURCE client.cpp APPEND PROPERTY COMPILE_DEFINITIONS EMBED_DATA)
+endif()
+
+target_link_if_exists(${TARGET} PUBLIC Quassel::Resource::Data)