cmake: Add missing Boost dependency
[quassel.git] / src / common / CMakeLists.txt
index d63db6b..f53988d 100644 (file)
@@ -1,6 +1,96 @@
-SET(common_SRCS global.cpp logger.cpp message.cpp settings.cpp util.cpp ircuser.cpp)
-SET(common_HDRS message.h util.h)
-SET(common_MOCS global.h logger.h ircuser.h quasselui.h settings.h)
+quassel_add_module(Common EXPORT)
 
-QT4_WRAP_CPP(_MOC ${common_MOCS})
-ADD_LIBRARY(common ${common_SRCS} ${_MOC})
+target_sources(${TARGET} PRIVATE
+    abstractsignalwatcher.h
+    aliasmanager.cpp
+    authhandler.cpp
+    backlogmanager.cpp
+    basichandler.cpp
+    bufferinfo.cpp
+    buffersyncer.cpp
+    bufferviewconfig.cpp
+    bufferviewmanager.cpp
+    compressor.cpp
+    coreinfo.cpp
+    ctcpevent.cpp
+    dccconfig.cpp
+    event.cpp
+    eventmanager.cpp
+    expressionmatch.cpp
+    funchelpers.h
+    highlightrulemanager.cpp
+    identity.cpp
+    ignorelistmanager.cpp
+    internalpeer.cpp
+    ircchannel.cpp
+    ircevent.cpp
+    irclisthelper.cpp
+    ircuser.cpp
+    logger.cpp
+    message.cpp
+    messageevent.cpp
+    network.cpp
+    networkconfig.cpp
+    networkevent.cpp
+    nickhighlightmatcher.cpp
+    peer.cpp
+    peerfactory.cpp
+    presetnetworks.cpp
+    quassel.cpp
+    remotepeer.cpp
+    settings.cpp
+    signalproxy.cpp
+    singleton.h
+    syncableobject.cpp
+    transfer.cpp
+    transfermanager.cpp
+    types.cpp
+    util.cpp
+
+    serializers/serializers.cpp
+
+    protocols/datastream/datastreampeer.cpp
+    protocols/legacy/legacypeer.cpp
+
+    # needed for automoc
+    irccap.h
+    protocol.h
+)
+
+# Needed for finding the generated version.h
+target_include_directories(${TARGET} PRIVATE ${CMAKE_BINARY_DIR})
+
+target_link_libraries(${TARGET} PUBLIC
+    ${CMAKE_DL_LIBS}
+    Boost::boost
+    Qt5::Core
+    Qt5::Network
+    ZLIB::ZLIB
+)
+
+if (EMBED_DATA)
+    set_property(SOURCE quassel.cpp APPEND PROPERTY COMPILE_DEFINITIONS EMBED_DATA)
+endif()
+
+if (HAVE_SYSLOG)
+    target_compile_definitions(${TARGET} PRIVATE -DHAVE_SYSLOG)
+endif()
+
+if (WIN32)
+    target_sources(${TARGET} PRIVATE logbacktrace_win.cpp windowssignalwatcher.cpp)
+else()
+    if (Backtrace_FOUND)
+        configure_file(backtrace_config.h.in backtrace_config.h)
+        target_include_directories(${TARGET} PRIVATE ${Backtrace_INCLUDE_DIRS})
+        target_link_libraries(${TARGET} PRIVATE ${Backtrace_LIBRARIES})
+        set_property(SOURCE logbacktrace_unix.cpp posixsignalwatcher.cpp APPEND PROPERTY COMPILE_DEFINITIONS HAVE_BACKTRACE)
+    endif()
+    target_sources(${TARGET} PRIVATE logbacktrace_unix.cpp posixsignalwatcher.cpp)
+endif()
+
+if (APPLE)
+    target_sources(${TARGET} PRIVATE mac_utils.cpp)
+    target_link_libraries(${TARGET} PUBLIC "-framework CoreServices" "-framework CoreFoundation")
+endif()
+
+target_link_if_exists(${TARGET} PUBLIC Quassel::Resource::I18n)