]> git.sur5r.net Git - minitube/blob - minitube.pro
Upload 3.9.3-2 to unstable
[minitube] / minitube.pro
1 CONFIG += c++17 exceptions_off rtti_off object_parallel_to_source
2
3 TEMPLATE = app
4 VERSION = 3.9.1
5 DEFINES += APP_VERSION="$$VERSION"
6
7 APP_NAME = Minitube
8 DEFINES += APP_NAME="$$APP_NAME"
9
10 APP_UNIX_NAME = minitube
11 DEFINES += APP_UNIX_NAME="$$APP_UNIX_NAME"
12
13 message(Building $${APP_NAME} $${VERSION})
14 message(Qt $$[QT_VERSION] in $$[QT_INSTALL_PREFIX])
15
16 DEFINES += APP_SNAPSHOT
17
18 CONFIG -= debug_and_release
19 CONFIG(debug, debug|release): {
20     message(Building for debug)
21 }
22 CONFIG(release, debug|release): {
23     message(Building for release)
24     DEFINES *= QT_NO_DEBUG_OUTPUT
25     CONFIG += optimize_full
26 }
27
28 DEFINES *= QT_USE_QSTRINGBUILDER QT_STRICT_ITERATORS QT_DEPRECATED_WARNINGS
29
30 #!contains(DEFINES, APP_GOOGLE_API_KEY=.+) {
31 #    warning("You need to specify a Google API Key, refer to the README.md file for details")
32 #}
33
34 TARGET = $${APP_UNIX_NAME}
35
36 QT += widgets network sql qml
37
38 include(lib/http/http.pri)
39 include(lib/idle/idle.pri)
40 include(lib/js/js.pri)
41 include(lib/promises/promises.pri)
42
43 DEFINES += MEDIA_MPV
44 include(lib/media/media.pri)
45
46 include(src/qtsingleapplication/qtsingleapplication.pri)
47 include(src/yt/yt.pri)
48
49 INCLUDEPATH += $$PWD/src
50
51 HEADERS += src/video.h \
52     src/messagebar.h \
53     src/spacer.h \
54     src/constants.h \
55     src/playlistitemdelegate.h \
56     src/subscriptionimportview.h \
57     src/updateutils.h \
58     src/videoapi.h \
59     src/videomimedata.h \
60     src/searchparams.h \
61     src/minisplitter.h \
62     src/loadingwidget.h \
63     src/autocomplete.h \
64     src/videodefinition.h \
65     src/fontutils.h \
66     src/globalshortcuts.h \
67     src/globalshortcutbackend.h \
68     src/downloadmanager.h \
69     src/downloaditem.h \
70     src/downloadview.h \
71     src/downloadmodel.h \
72     src/downloadlistview.h \
73     src/downloadsettings.h \
74     src/suggester.h \
75     src/channelsuggest.h \
76     src/temporary.h \
77     src/segmentedcontrol.h \
78     src/playlistview.h \
79     src/refinesearchwidget.h \
80     src/refinesearchbutton.h \
81     src/sidebarwidget.h \
82     src/homeview.h \
83     src/aboutview.h \
84     src/mainwindow.h \
85     src/mediaview.h \
86     src/searchview.h \
87     src/view.h \
88     src/playlistmodel.h \
89     src/videosource.h \
90     src/waitingspinnerwidget.h \
91     src/ytsearch.h \
92     src/ytstandardfeed.h \
93     src/standardfeedsview.h \
94     src/ytregions.h \
95     src/ytcategories.h \
96     src/ytsuggester.h \
97     src/videosourcewidget.h \
98     src/regionsview.h \
99     src/ytsinglevideosource.h \
100     src/sidebarheader.h \
101     src/iconutils.h \
102     src/diskcache.h \
103     src/gridwidget.h \
104     src/painterutils.h \
105     src/database.h \
106     src/channelaggregator.h \
107     src/channelmodel.h \
108     src/aggregatevideosource.h \
109     src/channelview.h \
110     src/channelitemdelegate.h \
111     src/jsfunctions.h \
112     src/seekslider.h \
113     src/snapshotsettings.h \
114     src/snapshotpreview.h \
115     src/datautils.h \
116     src/yt3listparser.h \
117     src/ytchannel.h \
118     src/yt3.h \
119     src/paginatedvideosource.h \
120     src/searchwidget.h \
121     src/channellistview.h \
122     src/httputils.h \
123     src/appwidget.h \
124     src/clickablelabel.h \
125     src/ytvideo.h \
126     src/toolbarmenu.h \
127     src/sharetoolbar.h \
128     src/videoarea.h \
129     src/searchlineedit.h
130 SOURCES += src/main.cpp \
131     src/messagebar.cpp \
132     src/spacer.cpp \
133     src/subscriptionimportview.cpp \
134     src/updateutils.cpp \
135     src/video.cpp \
136     src/videomimedata.cpp \
137     src/searchparams.cpp \
138     src/minisplitter.cpp \
139     src/loadingwidget.cpp \
140     src/autocomplete.cpp \
141     src/videodefinition.cpp \
142     src/constants.cpp \
143     src/fontutils.cpp \
144     src/globalshortcuts.cpp \
145     src/globalshortcutbackend.cpp \
146     src/downloadmanager.cpp \
147     src/downloaditem.cpp \
148     src/downloadview.cpp \
149     src/downloadmodel.cpp \
150     src/downloadlistview.cpp \
151     src/downloadsettings.cpp \
152     src/channelsuggest.cpp \
153     src/temporary.cpp \
154     src/segmentedcontrol.cpp \
155     src/playlistview.cpp \
156     src/refinesearchwidget.cpp \
157     src/refinesearchbutton.cpp \
158     src/sidebarwidget.cpp \
159     src/homeview.cpp \
160     src/mainwindow.cpp \
161     src/mediaview.cpp \
162     src/aboutview.cpp \
163     src/searchview.cpp \
164     src/playlistitemdelegate.cpp \
165     src/playlistmodel.cpp \
166     src/videosource.cpp \
167     src/waitingspinnerwidget.cpp \
168     src/ytsearch.cpp \
169     src/ytstandardfeed.cpp \
170     src/standardfeedsview.cpp \
171     src/ytregions.cpp \
172     src/ytcategories.cpp \
173     src/ytsuggester.cpp \
174     src/videosourcewidget.cpp \
175     src/regionsview.cpp \
176     src/ytsinglevideosource.cpp \
177     src/sidebarheader.cpp \
178     src/iconutils.cpp \
179     src/diskcache.cpp \
180     src/gridwidget.cpp \
181     src/painterutils.cpp \
182     src/database.cpp \
183     src/channelaggregator.cpp \
184     src/channelmodel.cpp \
185     src/aggregatevideosource.cpp \
186     src/channelview.cpp \
187     src/channelitemdelegate.cpp \
188     src/jsfunctions.cpp \
189     src/seekslider.cpp \
190     src/snapshotsettings.cpp \
191     src/snapshotpreview.cpp \
192     src/datautils.cpp \
193     src/yt3listparser.cpp \
194     src/ytchannel.cpp \
195     src/yt3.cpp \
196     src/paginatedvideosource.cpp \
197     src/channellistview.cpp \
198     src/httputils.cpp \
199     src/appwidget.cpp \
200     src/clickablelabel.cpp \
201     src/ytvideo.cpp \
202     src/toolbarmenu.cpp \
203     src/sharetoolbar.cpp \
204     src/videoarea.cpp \
205     src/searchlineedit.cpp
206
207 RESOURCES += resources.qrc
208 RESOURCES += $$files(icons/*.png, true)
209
210 DESTDIR = build/target/
211 OBJECTS_DIR = build/obj/
212 MOC_DIR = build/moc/
213 RCC_DIR = build/rcc/
214
215 # Tell Qt Linguist that we use UTF-8 strings in our sources
216 CODECFORTR = UTF-8
217 CODECFORSRC = UTF-8
218
219 include(locale/locale.pri)
220
221 # deploy
222 DISTFILES += CHANGES COPYING
223 unix:!mac {
224     DEFINES += APP_LINUX
225     QT += dbus
226     HEADERS += src/gnomeglobalshortcutbackend.h
227     SOURCES += src/gnomeglobalshortcutbackend.cpp
228
229     isEmpty(PREFIX):PREFIX = /usr
230
231     BINDIR = $$PREFIX/bin
232     INSTALLS += target
233     target.path = $$BINDIR
234
235     DATADIR = $$PREFIX/share
236     PKGDATADIR = $$DATADIR/minitube
237     DEFINES += DATADIR=\\\"$$DATADIR\\\" \
238         PKGDATADIR=\\\"$$PKGDATADIR\\\"
239
240     INSTALLS += translations \
241         sounds \
242         desktop \
243         appdata \
244         iconsvg \
245         icon16 \
246         icon22 \
247         icon32 \
248         icon48 \
249         icon64 \
250         icon128 \
251         icon256 \
252         icon512
253     translations.path = $$PKGDATADIR
254     translations.files += $$DESTDIR/locale
255     sounds.path = $$PKGDATADIR
256     sounds.files += sounds/
257     desktop.path = $$DATADIR/applications
258     desktop.files += minitube.desktop
259     appdata.path = $$DATADIR/metainfo
260     appdata.files += org.tordini.flavio.minitube.metainfo.xml
261     iconsvg.path = $$DATADIR/icons/hicolor/scalable/apps
262     iconsvg.files += data/minitube.svg
263     icon16.path = $$DATADIR/icons/hicolor/16x16/apps
264     icon16.files += data/16x16/minitube.png
265     icon22.path = $$DATADIR/icons/hicolor/22x22/apps
266     icon22.files += data/22x22/minitube.png
267     icon32.path = $$DATADIR/icons/hicolor/32x32/apps
268     icon32.files += data/32x32/minitube.png
269     icon48.path = $$DATADIR/icons/hicolor/48x48/apps
270     icon48.files += data/48x48/minitube.png
271     icon64.path = $$DATADIR/icons/hicolor/64x64/apps
272     icon64.files += data/64x64/minitube.png
273     icon128.path = $$DATADIR/icons/hicolor/128x128/apps
274     icon128.files += data/128x128/minitube.png
275     icon256.path = $$DATADIR/icons/hicolor/256x256/apps
276     icon256.files += data/256x256/minitube.png
277     icon512.path = $$DATADIR/icons/hicolor/512x512/apps
278     icon512.files += data/512x512/minitube.png
279 }
280
281 mac|win32|contains(DEFINES, APP_UBUNTU):include(local/local.pri)
282
283 message(QT: $$QT)
284 message(CONFIG: $$CONFIG)
285 message(DEFINES: $$DEFINES)
286 message(QMAKE_CXXFLAGS: $$QMAKE_CXXFLAGS)
287 message(QMAKE_LFLAGS: $$QMAKE_LFLAGS)