cmake: Add missing Boost dependency
[quassel.git] / src / common / CMakeLists.txt
index 36218f4..f53988d 100644 (file)
@@ -1,6 +1,7 @@
-# Builds the common module
+quassel_add_module(Common EXPORT)
 
-set(SOURCES
+target_sources(${TARGET} PRIVATE
+    abstractsignalwatcher.h
     aliasmanager.cpp
     authhandler.cpp
     backlogmanager.cpp
@@ -9,11 +10,15 @@ set(SOURCES
     buffersyncer.cpp
     bufferviewconfig.cpp
     bufferviewmanager.cpp
-    cliparser.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
@@ -27,59 +32,65 @@ set(SOURCES
     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
-    coreinfo.h
+    irccap.h
+    protocol.h
 )
 
+# Needed for finding the generated version.h
+target_include_directories(${TARGET} PRIVATE ${CMAKE_BINARY_DIR})
 
-if (QCA2_FOUND)
-    set(SOURCES ${SOURCES} keyevent.cpp)
-endif()
+target_link_libraries(${TARGET} PUBLIC
+    ${CMAKE_DL_LIBS}
+    Boost::boost
+    Qt5::Core
+    Qt5::Network
+    ZLIB::ZLIB
+)
 
-if (ZLIB_FOUND)
-    add_definitions(-DHAVE_ZLIB)
-    include_directories(${ZLIB_INCLUDE_DIRS})
-else()
-    set(SOURCES ${SOURCES} ../../3rdparty/miniz/miniz.c)
+if (EMBED_DATA)
+    set_property(SOURCE quassel.cpp APPEND PROPERTY COMPILE_DEFINITIONS EMBED_DATA)
 endif()
 
 if (HAVE_SYSLOG)
-    add_definitions(-DHAVE_SYSLOG)
+    target_compile_definitions(${TARGET} PRIVATE -DHAVE_SYSLOG)
 endif()
 
-if(APPLE)
-  set(SOURCES ${SOURCES} mac_utils.cpp)
-endif(APPLE)
-
 if (WIN32)
-    set(SOURCES ${SOURCES} logbacktrace_win.cpp)
+    target_sources(${TARGET} PRIVATE logbacktrace_win.cpp windowssignalwatcher.cpp)
 else()
-    if (EXECINFO_FOUND)
-        add_definitions(-DHAVE_EXECINFO)
-        include_directories(${EXECINFO_INCLUDES})
+    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()
-    set(SOURCES ${SOURCES} logbacktrace_unix.cpp)
+    target_sources(${TARGET} PRIVATE logbacktrace_unix.cpp posixsignalwatcher.cpp)
 endif()
 
-add_library(mod_common STATIC ${SOURCES})
-qt_use_modules(mod_common Core Network)
-
-if(APPLE)
-  target_link_libraries(mod_common "-framework CoreServices" "-framework CoreFoundation")
-endif(APPLE)
+if (APPLE)
+    target_sources(${TARGET} PRIVATE mac_utils.cpp)
+    target_link_libraries(${TARGET} PUBLIC "-framework CoreServices" "-framework CoreFoundation")
+endif()
 
-target_link_libraries(mod_common ${CMAKE_DL_LIBS} ${EXECINFO_LIBRARIES} ${ZLIB_LIBRARIES})
+target_link_if_exists(${TARGET} PUBLIC Quassel::Resource::I18n)