Implement support for the HAProxy proxy protocol
[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     ircdecoder.cpp
29     ircencoder.cpp
30     irctag.cpp
31     irctags.h
32     ircuser.cpp
33     logger.cpp
34     message.cpp
35     messageevent.cpp
36     network.cpp
37     networkconfig.cpp
38     networkevent.cpp
39     nickhighlightmatcher.cpp
40     peer.cpp
41     peerfactory.cpp
42     presetnetworks.cpp
43     quassel.cpp
44     proxyline.cpp
45     remotepeer.cpp
46     settings.cpp
47     signalproxy.cpp
48     singleton.h
49     syncableobject.cpp
50     transfer.cpp
51     transfermanager.cpp
52     types.cpp
53     util.cpp
54
55     serializers/serializers.cpp
56
57     protocols/datastream/datastreampeer.cpp
58     protocols/legacy/legacypeer.cpp
59
60     # needed for automoc
61     irccap.h
62     protocol.h
63 )
64
65 # Needed for finding the generated version.h
66 target_include_directories(${TARGET} PRIVATE ${CMAKE_BINARY_DIR})
67
68 target_link_libraries(${TARGET} PUBLIC
69     ${CMAKE_DL_LIBS}
70     Boost::boost
71     Qt5::Core
72     Qt5::Network
73     ZLIB::ZLIB
74 )
75
76 if (EMBED_DATA)
77     set_property(SOURCE quassel.cpp APPEND PROPERTY COMPILE_DEFINITIONS EMBED_DATA)
78 endif()
79
80 if (HAVE_SYSLOG)
81     target_compile_definitions(${TARGET} PRIVATE -DHAVE_SYSLOG)
82 endif()
83
84 if (WIN32)
85     target_sources(${TARGET} PRIVATE logbacktrace_win.cpp windowssignalwatcher.cpp)
86 else()
87     if (Backtrace_FOUND)
88         configure_file(backtrace_config.h.in backtrace_config.h)
89         target_include_directories(${TARGET} PRIVATE ${Backtrace_INCLUDE_DIRS})
90         target_link_libraries(${TARGET} PRIVATE ${Backtrace_LIBRARIES})
91         set_property(SOURCE logbacktrace_unix.cpp posixsignalwatcher.cpp APPEND PROPERTY COMPILE_DEFINITIONS HAVE_BACKTRACE)
92     endif()
93     target_sources(${TARGET} PRIVATE logbacktrace_unix.cpp posixsignalwatcher.cpp)
94 endif()
95
96 if (APPLE)
97     target_sources(${TARGET} PRIVATE mac_utils.cpp)
98     target_link_libraries(${TARGET} PUBLIC "-framework CoreServices" "-framework CoreFoundation")
99 endif()
100
101 target_link_if_exists(${TARGET} PUBLIC Quassel::Resource::I18n)