X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2FCMakeLists.txt;h=e7d72644681d2bdb5b721f5ebf4754914955817d;hp=a0227561ca44ed3854934b56ea0b4551c2b37770;hb=ed5b2ff32158ae72c011eb1228f373cec05cbfeb;hpb=be04b68a0f10891b81c07cdda204a9abc0ac56a7 diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index a0227561..e7d72644 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -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 @@ -10,10 +11,14 @@ set(SOURCES 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 @@ -22,11 +27,13 @@ set(SOURCES 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 @@ -34,74 +41,56 @@ set(SOURCES 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 ) -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() +# Needed for finding the generated version.h +target_include_directories(${TARGET} PRIVATE ${CMAKE_BINARY_DIR}) -if (ZLIB_FOUND) - add_definitions(-DHAVE_ZLIB) - include_directories(${ZLIB_INCLUDE_DIRS}) -else() - set(SOURCES ${SOURCES} ../../3rdparty/miniz/miniz.c) -endif() +target_link_libraries(${TARGET} PUBLIC + ${CMAKE_DL_LIBS} + Qt5::Core + Qt5::Network + ZLIB::ZLIB +) -if (USE_QT4) - set(SOURCES ${SOURCES} ../../3rdparty/sha512/sha512.c) +if (EMBED_DATA) + set_property(SOURCE quassel.cpp APPEND PROPERTY COMPILE_DEFINITIONS EMBED_DATA) endif() if (HAVE_SYSLOG) - add_definitions(-DHAVE_SYSLOG) -endif() - -if (APPLE) - set(SOURCES ${SOURCES} mac_utils.cpp) + target_compile_definitions(${TARGET} PRIVATE -DHAVE_SYSLOG) endif() 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() -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() - -target_link_libraries(mod_common ${CMAKE_DL_LIBS} ${EXECINFO_LIBRARIES}) - -if(ZLIB_FOUND) - target_link_libraries(mod_common ${ZLIB_LIBRARIES}) + target_sources(${TARGET} PRIVATE mac_utils.cpp) + target_link_libraries(${TARGET} PUBLIC "-framework CoreServices" "-framework CoreFoundation") 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) +target_link_if_exists(${TARGET} PUBLIC Quassel::Resource::I18n)