1 CONFIG += c++17 exceptions_off rtti_off object_parallel_to_source
5 DEFINES += APP_VERSION="$$VERSION"
8 DEFINES += APP_NAME="$$APP_NAME"
10 APP_UNIX_NAME = minitube
11 DEFINES += APP_UNIX_NAME="$$APP_UNIX_NAME"
13 message(Building $${APP_NAME} $${VERSION})
14 message(Qt $$[QT_VERSION] in $$[QT_INSTALL_PREFIX])
16 DEFINES += APP_SNAPSHOT
18 CONFIG -= debug_and_release
19 CONFIG(debug, debug|release): {
20 message(Building for debug)
22 CONFIG(release, debug|release): {
23 message(Building for release)
24 DEFINES *= QT_NO_DEBUG_OUTPUT
25 CONFIG += optimize_full
28 DEFINES *= QT_USE_QSTRINGBUILDER QT_STRICT_ITERATORS QT_DEPRECATED_WARNINGS
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")
34 TARGET = $${APP_UNIX_NAME}
36 QT += widgets network sql qml
38 include(lib/http/http.pri)
39 include(lib/idle/idle.pri)
40 include(lib/js/js.pri)
41 include(lib/promises/promises.pri)
44 include(lib/media/media.pri)
46 include(src/qtsingleapplication/qtsingleapplication.pri)
47 include(src/yt/yt.pri)
49 INCLUDEPATH += $$PWD/src
51 HEADERS += src/video.h \
55 src/playlistitemdelegate.h \
56 src/subscriptionimportview.h \
64 src/videodefinition.h \
66 src/globalshortcuts.h \
67 src/globalshortcutbackend.h \
68 src/downloadmanager.h \
72 src/downloadlistview.h \
73 src/downloadsettings.h \
75 src/channelsuggest.h \
77 src/segmentedcontrol.h \
79 src/refinesearchwidget.h \
80 src/refinesearchbutton.h \
90 src/waitingspinnerwidget.h \
92 src/ytstandardfeed.h \
93 src/standardfeedsview.h \
97 src/videosourcewidget.h \
99 src/ytsinglevideosource.h \
100 src/sidebarheader.h \
106 src/channelaggregator.h \
108 src/aggregatevideosource.h \
110 src/channelitemdelegate.h \
113 src/snapshotsettings.h \
114 src/snapshotpreview.h \
116 src/yt3listparser.h \
119 src/paginatedvideosource.h \
121 src/channellistview.h \
124 src/clickablelabel.h \
130 SOURCES += src/main.cpp \
133 src/subscriptionimportview.cpp \
134 src/updateutils.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 \
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 \
154 src/segmentedcontrol.cpp \
155 src/playlistview.cpp \
156 src/refinesearchwidget.cpp \
157 src/refinesearchbutton.cpp \
158 src/sidebarwidget.cpp \
164 src/playlistitemdelegate.cpp \
165 src/playlistmodel.cpp \
166 src/videosource.cpp \
167 src/waitingspinnerwidget.cpp \
169 src/ytstandardfeed.cpp \
170 src/standardfeedsview.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 \
181 src/painterutils.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 \
190 src/snapshotsettings.cpp \
191 src/snapshotpreview.cpp \
193 src/yt3listparser.cpp \
196 src/paginatedvideosource.cpp \
197 src/channellistview.cpp \
200 src/clickablelabel.cpp \
202 src/toolbarmenu.cpp \
203 src/sharetoolbar.cpp \
205 src/searchlineedit.cpp
207 RESOURCES += resources.qrc
208 RESOURCES += $$files(icons/*.png, true)
210 DESTDIR = build/target/
211 OBJECTS_DIR = build/obj/
215 # Tell Qt Linguist that we use UTF-8 strings in our sources
219 include(locale/locale.pri)
222 DISTFILES += CHANGES COPYING
226 HEADERS += src/gnomeglobalshortcutbackend.h
227 SOURCES += src/gnomeglobalshortcutbackend.cpp
229 isEmpty(PREFIX):PREFIX = /usr
231 BINDIR = $$PREFIX/bin
233 target.path = $$BINDIR
235 DATADIR = $$PREFIX/share
236 PKGDATADIR = $$DATADIR/minitube
237 DEFINES += DATADIR=\\\"$$DATADIR\\\" \
238 PKGDATADIR=\\\"$$PKGDATADIR\\\"
240 INSTALLS += translations \
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
281 mac|win32|contains(DEFINES, APP_UBUNTU):include(local/local.pri)
284 message(CONFIG: $$CONFIG)
285 message(DEFINES: $$DEFINES)
286 message(QMAKE_CXXFLAGS: $$QMAKE_CXXFLAGS)
287 message(QMAKE_LFLAGS: $$QMAKE_LFLAGS)