X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2FCMakeLists.txt;h=caace32b211d522c99ce2d7e5993d172a76c0490;hb=222d0be6ffa0f6c63c3c8c5a303260b9aee10e68;hp=fb4c3e8c5e29ff78f7ba2893d54177ff8ea385ae;hpb=2cdaafcdf69fbeb3efd5372b86e14977e4a7fb94;p=quassel.git diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index fb4c3e8c..caace32b 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -1,69 +1,98 @@ # Builds the common module -set(QT_DONT_USE_QTGUI 1) -set(QT_USE_QTNETWORK 1) -include(${QT_USE_FILE}) - set(SOURCES + abstractsignalwatcher.h aliasmanager.cpp + authhandler.cpp backlogmanager.cpp + basichandler.cpp bufferinfo.cpp buffersyncer.cpp bufferviewconfig.cpp bufferviewmanager.cpp - cliparser.cpp + compressor.cpp + coreinfo.cpp + ctcpevent.cpp + dccconfig.cpp + event.cpp + eventmanager.cpp + expressionmatch.cpp + # expressionmatchtests.cpp + highlightrulemanager.cpp identity.cpp + ignorelistmanager.cpp + internalpeer.cpp ircchannel.cpp + ircevent.cpp + irclisthelper.cpp ircuser.cpp logger.cpp + logmessage.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 - util.cpp) + transfer.cpp + transfermanager.cpp + types.cpp + util.cpp + + serializers/serializers.cpp + + protocols/datastream/datastreampeer.cpp + protocols/legacy/legacypeer.cpp -if(CMAKE_HOST_WIN32) - set(SOURCES ${SOURCES} logbacktrace_win.cpp) -endif(CMAKE_HOST_WIN32) -if(CMAKE_HOST_UNIX) - set(SOURCES ${SOURCES} logbacktrace_unix.cpp) -endif(CMAKE_HOST_UNIX) + # needed for automoc + irccap.h + protocol.h +) +if (QCA2-QT5_FOUND) + set(SOURCES ${SOURCES} keyevent.cpp) +endif() +if (HAVE_SYSLOG) + add_definitions(-DHAVE_SYSLOG) +endif() -set(MOC_HDRS - aliasmanager.h - backlogmanager.h - buffersyncer.h - bufferviewconfig.h - bufferviewmanager.h - coreinfo.h - identity.h - ircchannel.h - irclisthelper.h - ircuser.h - network.h - settings.h - signalproxy.h - syncableobject.h) +if (APPLE) + set(SOURCES ${SOURCES} mac_utils.cpp) +endif() -set(HEADERS ${MOC_HDRS} - bufferinfo.h - cliparser.h - logger.h - message.h - types.h - util.h) +qt5_add_resources(SOURCES ${COMMON_RCS}) -qt4_wrap_cpp(MOC ${MOC_HDRS}) +add_library(mod_common STATIC ${SOURCES}) +qt5_use_modules(mod_common Core Network) +if (WIN32) + target_sources(mod_common PRIVATE logbacktrace_win.cpp windowssignalwatcher.cpp) +else() + if (Backtrace_FOUND) + configure_file(backtrace_config.h.in backtrace_config.h) + target_compile_definitions(mod_common PRIVATE -DHAVE_BACKTRACE) + target_include_directories(mod_common PRIVATE ${Backtrace_INCLUDE_DIRS}) + target_link_libraries(mod_common PRIVATE ${Backtrace_LIBRARIES}) + endif() + target_sources(mod_common PRIVATE logbacktrace_unix.cpp posixsignalwatcher.cpp) +endif() -include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}) # for version.inc and version.gen -set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES version.gen) +if (APPLE) + target_link_libraries(mod_common "-framework CoreServices" "-framework CoreFoundation") +endif() -add_library(mod_common STATIC ${SOURCES} ${MOC} ${CMAKE_BINARY_DIR}/i18n/qrc_i18n.cxx) -set_source_files_properties(${CMAKE_BINARY_DIR}/i18n/qrc_i18n.cxx PROPERTIES GENERATED true) -add_dependencies(mod_common i18n) +target_link_libraries(mod_common ${CMAKE_DL_LIBS} ZLIB::ZLIB) +# 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)