Merge pull request #167 from esainane/patch-1
[quassel.git] / src / common / CMakeLists.txt
index 55457d2..bb3aef2 100644 (file)
@@ -1,6 +1,104 @@
-SET(common_SRCS global.cpp logger.cpp util.cpp message.cpp settings.cpp)
-SET(common_HDRS util.h message.h settings.h)
-SET(common_MOCS global.h logger.h quasselui.h)
+# Builds the common module
 
-QT4_WRAP_CPP(_MOC ${common_MOCS})
-ADD_LIBRARY(common ${_MOC} ${common_SRCS} ${common_HDRS})
+set(SOURCES
+    aliasmanager.cpp
+    authhandler.cpp
+    backlogmanager.cpp
+    basichandler.cpp
+    bufferinfo.cpp
+    buffersyncer.cpp
+    bufferviewconfig.cpp
+    bufferviewmanager.cpp
+    compressor.cpp
+    ctcpevent.cpp
+    event.cpp
+    eventmanager.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
+    peer.cpp
+    peerfactory.cpp
+    presetnetworks.cpp
+    quassel.cpp
+    remotepeer.cpp
+    settings.cpp
+    signalproxy.cpp
+    syncableobject.cpp
+    transfer.cpp
+    transfermanager.cpp
+    util.cpp
+
+    protocols/datastream/datastreampeer.cpp
+    protocols/legacy/legacypeer.cpp
+
+    # needed for automoc
+    coreinfo.h
+)
+
+if (USE_QT5)
+    list(APPEND SOURCES qt5cliparser.cpp)
+else()
+    list(APPEND SOURCES cliparser.cpp)
+endif()
+
+if (QCA2_FOUND OR QCA2-QT5_FOUND)
+    set(SOURCES ${SOURCES} keyevent.cpp)
+endif()
+
+if (ZLIB_FOUND)
+    add_definitions(-DHAVE_ZLIB)
+    include_directories(${ZLIB_INCLUDE_DIRS})
+else()
+    set(SOURCES ${SOURCES} ../../3rdparty/miniz/miniz.c)
+endif()
+
+if (USE_QT4)
+    set(SOURCES ${SOURCES} ../../3rdparty/sha512/sha512.c)
+endif()
+
+if (HAVE_SYSLOG)
+    add_definitions(-DHAVE_SYSLOG)
+endif()
+
+if (APPLE)
+    set(SOURCES ${SOURCES} mac_utils.cpp)
+endif(APPLE)
+
+if (WIN32)
+    set(SOURCES ${SOURCES} logbacktrace_win.cpp)
+else()
+    if (EXECINFO_FOUND)
+        add_definitions(-DHAVE_EXECINFO)
+        include_directories(${EXECINFO_INCLUDES})
+    endif()
+    set(SOURCES ${SOURCES} logbacktrace_unix.cpp)
+endif()
+
+qt_add_resources(SOURCES ${COMMON_RCS})
+
+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)
+
+target_link_libraries(mod_common ${CMAKE_DL_LIBS} ${EXECINFO_LIBRARIES})
+
+if(ZLIB_FOUND)
+    target_link_libraries(mod_common ${ZLIB_LIBRARIES})
+endif()
+
+# This is needed so translations are generated before trying to build the qrc.
+# Should probably find a nicer solution with proper dependencies between the involved files, though...
+add_dependencies(mod_common po)