blob: 762114c51274b5109797b0a3077cb91f95828ba3 [file] [log] [blame]
Sébastien Blin1f915762020-08-03 13:27:42 -04001win32-msvc {
2 TARGET = Jami
Andreas Traczyk470d3c92020-08-19 17:55:28 -04003 TEMPLATE = app
Sébastien Blin1f915762020-08-03 13:27:42 -04004
5 QT += core winextras qml quickcontrols2 quick xml multimedia network webengine svg sql
6
7 CONFIG += suppress_vcproj_warnings c++17 qtquickcompiler
8
Andreas Traczyk84dec082020-09-01 14:31:31 -04009 QTQUICK_COMPILER_SKIPPED_RESOURCES += ./resources.qrc
Sébastien Blin1f915762020-08-03 13:27:42 -040010
11 # compiler options
12 QMAKE_CXXFLAGS += /wd"4068" /wd"4099" /wd"4189" /wd"4267" /wd"4577" /wd"4467" /wd"4715" /wd"4828"
13 QMAKE_CXXFLAGS += /MP /GS /W3 /Gy /Zc:wchar_t /Zi /Gm- /O2 /Zc:inline /fp:precise /errorReport:prompt
14 QMAKE_CXXFLAGS += /Gd /Oi /MD /std:c++17 /FC /EHsc /nologo /sdl
15
16 # linker options
17 QMAKE_LFLAGS+= /ignore:4006,4049,4078,4098 /FORCE:MULTIPLE /INCREMENTAL:NO /Debug /LTCG /NODEFAULTLIB:LIBCMT
18
19 # preprocessor defines
20 DEFINES += UNICODE QT_NO_DEBUG NDEBUG
21
22 # dependencies
23 LRC= ../lrc
24 DRING= ../daemon
Andreas Traczyk470d3c92020-08-19 17:55:28 -040025 QRENCODE= $$PWD/qrencode-win32/qrencode-win32
Sébastien Blin1f915762020-08-03 13:27:42 -040026
27 # client deps
28 INCLUDEPATH += $${QRENCODE}
29 LIBS += $${QRENCODE}/vc8/qrcodelib/x64/Release-Lib/qrcodelib.lib
30
31 # lrc
32 INCLUDEPATH += $${LRC}/src/
33 LIBS += $${LRC}/msvc/release/ringclient_static.lib
34 LIBS += $${LRC}/msvc/src/qtwrapper/Release/qtwrapper.lib
35
36 # daemon
37 INCLUDEPATH += ../daemon/contrib/msvc/include/
38 LIBS += $${DRING}/build-local/x64/ReleaseLib_win32/bin/dring.lib
39 LIBS += $${DRING}/contrib/msvc/lib/x64/libgnutls.lib
40
41 # windows system libs
42 LIBS += Shell32.lib Ole32.lib Advapi32.lib Shlwapi.lib User32.lib Gdi32.lib Crypt32.lib Strmiids.lib
43
44 # output paths
45 OBJECTS_DIR = obj/.obj
46 MOC_DIR = obj/.moc
47 RCC_DIR = obj/.rcc
48 UI_DIR = obj/.ui
49
50 # ReleaseCompile config
51 contains(CONFIG, ReleaseCompile) {
52 CONFIG(ReleaseCompile) {
53 message(ReleaseCompile config enabled)
54 Release: DEFINES += COMPILE_ONLY
55 }
56 }
57
58 # beta config
59 contains(CONFIG, Beta) {
60 CONFIG(Beta) {
61 message(Beta config enabled)
62 Release: DESTDIR = x64/Beta
63 Release: DEFINES += BETA
64 }
65 } else {
66 Release: DESTDIR = x64/Release
67 }
68 Debug: DESTDIR = x64/Debug
69
70 # qt dir
71 QMAKE_INCDIR_QT=$(QTDIR)\include
72 QMAKE_LIBDIR=$(QTDIR)\lib
73 QMAKE_MOC=$(QTDIR)\bin\moc.exe
74 QMAKE_QMAKE=$(QTDIR)\bin\qmake.exe
75
76 # exe icons
77 Release: RC_FILE = ico.rc
Andreas Traczyk470d3c92020-08-19 17:55:28 -040078
79 # run the deployment script(run windeployqt)
80 QMAKE_POST_LINK += $$quote(powershell -ExecutionPolicy Unrestricted -File $$PWD/copy-runtime-files.ps1 -outDir $${DESTDIR})
Sébastien Blin1f915762020-08-03 13:27:42 -040081}
82
83unix {
84 TARGET = jami-qt
85 TEMPLATE = app
86
Andreas Traczyk1b259072020-08-10 10:22:07 -040087 QT += quick quickwidgets widgets xml multimedia multimediawidgets network \
88 webenginewidgets svg quickcontrols2 webengine webenginecore sql dbus
Sébastien Blin1f915762020-08-03 13:27:42 -040089
Andreas Traczyk1b259072020-08-10 10:22:07 -040090 # Maj/min versions can be checked(if needed) using:
91 # equals(QT_MAJOR_VERSION, 5):lessThan(QT_MINOR_VERSION, 12) {}
92 versionAtLeast(QT_VERSION, 5.12.0) {
93 CONFIG += c++17
94 } else {
Sébastien Blin1f915762020-08-03 13:27:42 -040095 QMAKE_CXXFLAGS += -std=c++17
96 }
Sébastien Blin1f915762020-08-03 13:27:42 -040097
Andreas Traczyk1b259072020-08-10 10:22:07 -040098 isEmpty(LRC) { LRC=$$PWD/../install/lrc/ }
Sébastien Blin1f915762020-08-03 13:27:42 -040099
100 INCLUDEPATH += $${LRC}/include/libringclient
101 INCLUDEPATH += $${LRC}/include
102 INCLUDEPATH += ../src
103
104 LIBS += -L$${LRC}/lib -lringclient
105 LIBS += -lqrencode
Andreas Traczyk1b259072020-08-10 10:22:07 -0400106
107 isEmpty(PREFIX) { PREFIX = /tmp/$${TARGET}/bin }
108 target.path = $$PREFIX/bin
109 INSTALLS += target
Sébastien Blin1f915762020-08-03 13:27:42 -0400110}
111
112# Input
Andreas Traczykae058402020-09-04 17:53:24 -0400113HEADERS += \
Andreas Traczyk3b6bbe72020-09-17 16:08:52 -0400114 src/networkmanager.h \
Andreas Traczykae058402020-09-04 17:53:24 -0400115 src/smartlistmodel.h \
Andreas Traczyk3b6bbe72020-09-17 16:08:52 -0400116 src/updatemanager.h \
Andreas Traczykae058402020-09-04 17:53:24 -0400117 src/utils.h \
118 src/bannedlistmodel.h \
119 src/version.h \
120 src/accountlistmodel.h \
121 src/runguard.h \
122 src/lrcinstance.h \
123 src/globalsystemtray.h \
124 src/appsettingsmanager.h \
125 src/webchathelpers.h \
126 src/pixbufmanipulator.h \
127 src/rendermanager.h \
128 src/connectivitymonitor.h \
129 src/jamiavatartheme.h \
130 src/mainapplication.h \
131 src/qrimageprovider.h \
132 src/messagesadapter.h \
133 src/accountadapter.h \
134 src/tintedbuttonimageprovider.h \
135 src/calladapter.h \
136 src/conversationsadapter.h \
137 src/distantrenderer.h \
138 src/previewrenderer.h \
139 src/qmladapterbase.h \
140 src/avadapter.h \
141 src/contactadapter.h \
142 src/pluginadapter.h \
143 src/settingsadapter.h \
144 src/deviceitemlistmodel.h \
145 src/pluginitemlistmodel.h \
146 src/mediahandleritemlistmodel.h \
147 src/preferenceitemlistmodel.h \
agsantosd191f862020-09-08 12:59:34 -0400148 src/mediacodeclistmodel.h \
Andreas Traczykae058402020-09-04 17:53:24 -0400149 src/accountstomigratelistmodel.h \
150 src/audioinputdevicemodel.h \
151 src/videoinputdevicemodel.h \
152 src/audiooutputdevicemodel.h \
153 src/pluginlistpreferencemodel.h \
154 src/videoformatfpsmodel.h \
155 src/videoformatresolutionmodel.h \
156 src/audiomanagerlistmodel.h \
Andreas Traczyk88816942020-09-04 14:51:39 -0400157 src/qmlregister.h \
158 src/qtutils.h \
159 src/utilsadapter.h
Andreas Traczyk1b259072020-08-10 10:22:07 -0400160
Andreas Traczykae058402020-09-04 17:53:24 -0400161SOURCES += \
162 src/bannedlistmodel.cpp \
163 src/accountlistmodel.cpp \
Andreas Traczyk3b6bbe72020-09-17 16:08:52 -0400164 src/networkmanager.cpp \
Andreas Traczykae058402020-09-04 17:53:24 -0400165 src/runguard.cpp \
Andreas Traczyk3b6bbe72020-09-17 16:08:52 -0400166 src/updatemanager.cpp \
Andreas Traczykae058402020-09-04 17:53:24 -0400167 src/webchathelpers.cpp \
168 src/main.cpp \
Andreas Traczykae058402020-09-04 17:53:24 -0400169 src/smartlistmodel.cpp \
170 src/utils.cpp \
171 src/pixbufmanipulator.cpp \
172 src/rendermanager.cpp \
173 src/connectivitymonitor.cpp \
174 src/mainapplication.cpp \
175 src/messagesadapter.cpp \
176 src/accountadapter.cpp \
177 src/calladapter.cpp \
178 src/conversationsadapter.cpp \
179 src/distantrenderer.cpp \
180 src/previewrenderer.cpp \
181 src/avadapter.cpp \
182 src/contactadapter.cpp \
183 src/pluginadapter.cpp \
184 src/settingsadapter.cpp \
185 src/deviceitemlistmodel.cpp \
186 src/pluginitemlistmodel.cpp \
187 src/mediahandleritemlistmodel.cpp \
188 src/preferenceitemlistmodel.cpp \
agsantosd191f862020-09-08 12:59:34 -0400189 src/mediacodeclistmodel.cpp \
Andreas Traczykae058402020-09-04 17:53:24 -0400190 src/accountstomigratelistmodel.cpp \
191 src/audioinputdevicemodel.cpp \
192 src/videoinputdevicemodel.cpp \
193 src/audiooutputdevicemodel.cpp \
194 src/pluginlistpreferencemodel.cpp \
195 src/videoformatfpsmodel.cpp \
196 src/videoformatresolutionmodel.cpp \
197 src/audiomanagerlistmodel.cpp \
Andreas Traczyk88816942020-09-04 14:51:39 -0400198 src/qmlregister.cpp \
199 src/utilsadapter.cpp
Andreas Traczyk1b259072020-08-10 10:22:07 -0400200
Andreas Traczykae058402020-09-04 17:53:24 -0400201RESOURCES += \
202 resources.qrc \
203 qml.qrc