e7d72644681d2bdb5b721f5ebf4754914955817d
[quassel.git] / src / common / CMakeLists.txt
1 quassel_add_module(Common EXPORT)
2
3 target_sources(${TARGET} PRIVATE
4     abstractsignalwatcher.h
5     aliasmanager.cpp
6     authhandler.cpp
7     backlogmanager.cpp
8     basichandler.cpp
9     bufferinfo.cpp
10     buffersyncer.cpp
11     bufferviewconfig.cpp
12     bufferviewmanager.cpp
13     compressor.cpp
14     coreinfo.cpp
15     ctcpevent.cpp
16     dccconfig.cpp
17     event.cpp
18     eventmanager.cpp
19     expressionmatch.cpp
20     funchelpers.h
21     highlightrulemanager.cpp
22     identity.cpp
23     ignorelistmanager.cpp
24     internalpeer.cpp
25     ircchannel.cpp
26     ircevent.cpp
27     irclisthelper.cpp
28     ircuser.cpp
29     logger.cpp
30     logmessage.cpp
31     message.cpp
32     messageevent.cpp
33     network.cpp
34     networkconfig.cpp
35     networkevent.cpp
36     nickhighlightmatcher.cpp
37     peer.cpp
38     peerfactory.cpp
39     presetnetworks.cpp
40     quassel.cpp
41     remotepeer.cpp
42     settings.cpp
43     signalproxy.cpp
44     singleton.h
45     syncableobject.cpp
46     transfer.cpp
47     transfermanager.cpp
48     types.cpp
49     util.cpp
50
51     serializers/serializers.cpp
52
53     protocols/datastream/datastreampeer.cpp
54     protocols/legacy/legacypeer.cpp
55
56     # needed for automoc
57     irccap.h
58     protocol.h
59 )
60
61 # Needed for finding the generated version.h
62 target_include_directories(${TARGET} PRIVATE ${CMAKE_BINARY_DIR})
63
64 target_link_libraries(${TARGET} PUBLIC
65     ${CMAKE_DL_LIBS}
66     Qt5::Core
67     Qt5::Network
68     ZLIB::ZLIB
69 )
70
71 if (EMBED_DATA)
72     set_property(SOURCE quassel.cpp APPEND PROPERTY COMPILE_DEFINITIONS EMBED_DATA)
73 endif()
74
75 if (HAVE_SYSLOG)
76     target_compile_definitions(${TARGET} PRIVATE -DHAVE_SYSLOG)
77 endif()
78
79 if (WIN32)
80     target_sources(${TARGET} PRIVATE logbacktrace_win.cpp windowssignalwatcher.cpp)
81 else()
82     if (Backtrace_FOUND)
83         configure_file(backtrace_config.h.in backtrace_config.h)
84         target_include_directories(${TARGET} PRIVATE ${Backtrace_INCLUDE_DIRS})
85         target_link_libraries(${TARGET} PRIVATE ${Backtrace_LIBRARIES})
86         set_property(SOURCE logbacktrace_unix.cpp posixsignalwatcher.cpp APPEND PROPERTY COMPILE_DEFINITIONS HAVE_BACKTRACE)
87     endif()
88     target_sources(${TARGET} PRIVATE logbacktrace_unix.cpp posixsignalwatcher.cpp)
89 endif()
90
91 if (APPLE)
92     target_sources(${TARGET} PRIVATE mac_utils.cpp)
93     target_link_libraries(${TARGET} PUBLIC "-framework CoreServices" "-framework CoreFoundation")
94 endif()
95
96 target_link_if_exists(${TARGET} PUBLIC Quassel::Resource::I18n)