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