summaryrefslogtreecommitdiffstats
path: root/pica-client/pica-client.pro
blob: 4823c8a706f991e411d8780f68fcef28fec37114 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#-------------------------------------------------
#
# Project created by QtCreator 2011-10-22T02:19:02
#
#-------------------------------------------------

QT       += core gui sql network

TARGET = pica-client
TEMPLATE = app


SOURCES += main.cpp\
    audiodevice.cpp \
    echocanceller.cpp \
    nativeaudio.cpp \
    nativeaudio_wasapi.cpp \
    nativeaudio_coreaudio.cpp \
	audiovideocallcontroller.cpp \
        mainwindow.cpp \
    chatwindow.cpp \
    callwindow.cpp \
    contacts.cpp \
    ../PICA_client.c \
    ../PICA_media.c \
    ../PICA_msgproc.c \
    contactlistwidget.cpp \
    mediadevice.cpp \
    skynet.cpp \
    nodes.cpp \
    accountswindow.cpp \
    accounts.cpp \
    dialogs/addaccountdialog.cpp \
    askpassword.cpp \
    msguirouter.cpp \
    picasystray.cpp \
    picaactioncenter.cpp \
    dialogs/viewcertdialog.cpp \
    dialogs/forgedcertdialog.cpp \
    dialogs/registeraccountdialog.cpp \
    openssllib.cpp \
    history.cpp \
    ../PICA_id.c \
    dhparam.cpp \
    dialogs/showpicaiddialog.cpp \
    dialogs/filetransferdialog.cpp \
    filetransfercontroller.cpp \
    sound.cpp \
    dialogs/settingsdialog.cpp \
    settings.cpp \
    callsettings.cpp \
    ../PICA_netconf.c \
    ../PICA_signverify.c \
    dialogs/nodesdialog.cpp \
    videodevice.cpp \
    videodshow.cpp

HEADERS  += mainwindow.h \
    audiodevice.h \
    audioring.h \
    echocanceller.h \
    nativeaudio.h \
    audiovideocallcontroller.h \
    chatwindow.h \
    callwindow.h \
    contacts.h \
    globals.h \
    ../PICA_client.h \
    ../PICA_media.h \
    ../PICA_msgproc.h \
    contactlistwidget.h \
    mediadevice.h \
    skynet.h \
    nodes.h \
    accountswindow.h \
    accounts.h \
    dialogs/addaccountdialog.h \
    askpassword.h \
    msguirouter.h \
    picasystray.h \
    picaactioncenter.h \
    dialogs/viewcertdialog.h \
    dialogs/forgedcertdialog.h \
    ../PICA_common.h \
    ../PICA_proto.h \
    dialogs/registeraccountdialog.h \
    openssllib.h \
    history.h \
    ../PICA_id.h \
    dhparam.h \
    dialogs/showpicaiddialog.h \
    dialogs/filetransferdialog.h \
    filetransfercontroller.h \
    sound.h \
    dialogs/settingsdialog.h \
    settings.h \
    callsettings.h \
    ../PICA_netconf.h \
    ../PICA_security.h \
    ../PICA_signverify.h \
    dialogs/nodesdialog.h \
    videodevice.h


DEFINES = PICA_MULTITHREADED
DEFINES += HAVE_LIBMINIUPNPC

FORMS    += mainwindow.ui



unix: CONFIG += link_pkgconfig
unix: PKGCONFIG += libssl

unix: CONFIG += link_pkgconfig
unix: PKGCONFIG += libcrypto

unix|win32: LIBS += -lminiupnpc

# Acoustic echo cancellation - WebRTC's AEC3, through the audio processing
# module. Required everywhere: it is what the "use own echo cancellation"
# setting selects, and on Linux it is usually the only cancellation in the
# picture at all.
#
# Its headers, and the abseil ones they include, refuse to compile as anything
# older than C++17, so the whole target is built that way.
CONFIG += c++17

# Through pkg-config on macOS too, unlike the libraries above: the headers sit
# in a versioned include directory and the library needs several abseil ones
# alongside it, so the flags are not worth writing out by hand.
#
# 1.x and 2.x install in parallel under separate pkg-config names and differ
# in a few API details that echocanceller.cpp handles; 1.x wins when both are
# there, matching what configure does. The macro is only a hint - the file
# falls back to working the version out from the headers - but a build that
# has both installed is exactly where the hint earns its keep.
unix: CONFIG += link_pkgconfig
unix {
    packagesExist(webrtc-audio-processing-1) {
        PKGCONFIG += webrtc-audio-processing-1
        DEFINES += PICA_WEBRTC_AUDIO_PROCESSING_MAJOR=1
    } else {
        PKGCONFIG += webrtc-audio-processing-2
        DEFINES += PICA_WEBRTC_AUDIO_PROCESSING_MAJOR=2
    }
}

# Listing PulseAudio sources and sinks in the settings dialog. Optional -
# playing and capturing through PulseAudio goes via FFmpeg's own "pulse"
# device and needs nothing from us.
unix:!macx: PKGCONFIG += libpulse
unix:!macx: DEFINES += HAVE_LIBPULSE

# The native audio backends. Both source files compile to nothing on the
# platforms they are not for, so they can stay in SOURCES unconditionally;
# what they link against cannot.
win32: LIBS += -lole32 -loleaut32
macx:  LIBS += -framework CoreAudio -framework AudioUnit -framework AudioToolbox -framework CoreFoundation