]> git.sur5r.net Git - minitube/blobdiff - minitube.pro
Upload 3.9.3-2 to unstable
[minitube] / minitube.pro
index e705eb178618cb9a56b783de0e5539e1e73693df..646dd4ed1e3d4df9d2c2a99f13ce851dbc78cec0 100644 (file)
@@ -1,6 +1,7 @@
-CONFIG += release
+CONFIG += c++17 exceptions_off rtti_off object_parallel_to_source
+
 TEMPLATE = app
-VERSION = 1.9
+VERSION = 3.9.3
 DEFINES += APP_VERSION="$$VERSION"
 
 APP_NAME = Minitube
@@ -9,40 +10,56 @@ DEFINES += APP_NAME="$$APP_NAME"
 APP_UNIX_NAME = minitube
 DEFINES += APP_UNIX_NAME="$$APP_UNIX_NAME"
 
-DEFINES += QT_USE_FAST_CONCATENATION
-DEFINES += QT_USE_FAST_OPERATOR_PLUS
+message(Building $${APP_NAME} $${VERSION})
+message(Qt $$[QT_VERSION] in $$[QT_INSTALL_PREFIX])
+
+DEFINES += APP_SNAPSHOT
+
+CONFIG -= debug_and_release
+CONFIG(debug, debug|release): {
+    message(Building for debug)
+}
+CONFIG(release, debug|release): {
+    message(Building for release)
+    DEFINES *= QT_NO_DEBUG_OUTPUT
+    CONFIG += optimize_full
+}
+
+DEFINES *= QT_USE_QSTRINGBUILDER QT_STRICT_ITERATORS QT_DEPRECATED_WARNINGS
+
+#!contains(DEFINES, APP_GOOGLE_API_KEY=.+) {
+#    warning("You need to specify a Google API Key, refer to the README.md file for details")
+#}
+
+TARGET = $${APP_UNIX_NAME}
+
+QT += widgets network sql qml
+
+include(lib/http/http.pri)
+include(lib/idle/idle.pri)
+include(lib/js/js.pri)
+include(lib/promises/promises.pri)
+
+DEFINES += MEDIA_MPV
+include(lib/media/media.pri)
 
-# TODO Saner string behaviour
-# DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII QT_STRICT_ITERATORS
-TARGET = minitube
-QT += network \
-    xml \
-    phonon
 include(src/qtsingleapplication/qtsingleapplication.pri)
-HEADERS += src/MainWindow.h \
-    src/SearchView.h \
-    src/MediaView.h \
-    src/AboutView.h \
-    src/youtubesearch.h \
-    src/video.h \
-    src/youtubestreamreader.h \
-    src/View.h \
-    src/searchlineedit.h \
-    src/urllineedit.h \
+include(src/yt/yt.pri)
+
+INCLUDEPATH += $$PWD/src
+
+HEADERS += src/video.h \
+    src/messagebar.h \
     src/spacer.h \
     src/constants.h \
-    src/iconloader/qticonloader.h \
-    src/ListModel.h \
-    src/playlist/PrettyItemDelegate.h \
-    src/networkaccess.h \
+    src/playlistitemdelegate.h \
+    src/subscriptionimportview.h \
+    src/updateutils.h \
+    src/videoapi.h \
     src/videomimedata.h \
-    src/global.h \
-    src/updatechecker.h \
-    src/playlistwidget.h \
     src/searchparams.h \
     src/minisplitter.h \
     src/loadingwidget.h \
-    src/videoareawidget.h \
     src/autocomplete.h \
     src/videodefinition.h \
     src/fontutils.h \
@@ -54,7 +71,6 @@ HEADERS += src/MainWindow.h \
     src/downloadmodel.h \
     src/downloadlistview.h \
     src/downloadsettings.h \
-    src/youtubesuggest.h \
     src/suggester.h \
     src/channelsuggest.h \
     src/temporary.h \
@@ -62,29 +78,65 @@ HEADERS += src/MainWindow.h \
     src/playlistview.h \
     src/refinesearchwidget.h \
     src/refinesearchbutton.h \
-    src/sidebarwidget.h
+    src/sidebarwidget.h \
+    src/homeview.h \
+    src/aboutview.h \
+    src/mainwindow.h \
+    src/mediaview.h \
+    src/searchview.h \
+    src/view.h \
+    src/playlistmodel.h \
+    src/videosource.h \
+    src/waitingspinnerwidget.h \
+    src/ytsearch.h \
+    src/ytstandardfeed.h \
+    src/standardfeedsview.h \
+    src/ytregions.h \
+    src/ytcategories.h \
+    src/ytsuggester.h \
+    src/videosourcewidget.h \
+    src/regionsview.h \
+    src/ytsinglevideosource.h \
+    src/sidebarheader.h \
+    src/iconutils.h \
+    src/diskcache.h \
+    src/gridwidget.h \
+    src/painterutils.h \
+    src/database.h \
+    src/channelaggregator.h \
+    src/channelmodel.h \
+    src/aggregatevideosource.h \
+    src/channelview.h \
+    src/channelitemdelegate.h \
+    src/jsfunctions.h \
+    src/seekslider.h \
+    src/snapshotsettings.h \
+    src/snapshotpreview.h \
+    src/datautils.h \
+    src/yt3listparser.h \
+    src/ytchannel.h \
+    src/yt3.h \
+    src/paginatedvideosource.h \
+    src/searchwidget.h \
+    src/channellistview.h \
+    src/httputils.h \
+    src/appwidget.h \
+    src/clickablelabel.h \
+    src/ytvideo.h \
+    src/toolbarmenu.h \
+    src/sharetoolbar.h \
+    src/videoarea.h \
+    src/searchlineedit.h
 SOURCES += src/main.cpp \
-    src/MainWindow.cpp \
-    src/SearchView.cpp \
-    src/MediaView.cpp \
-    src/AboutView.cpp \
-    src/youtubesearch.cpp \
-    src/youtubestreamreader.cpp \
-    src/searchlineedit.cpp \
-    src/urllineedit.cpp \
+    src/messagebar.cpp \
     src/spacer.cpp \
+    src/subscriptionimportview.cpp \
+    src/updateutils.cpp \
     src/video.cpp \
-    src/iconloader/qticonloader.cpp \
-    src/ListModel.cpp \
-    src/playlist/PrettyItemDelegate.cpp \
     src/videomimedata.cpp \
-    src/updatechecker.cpp \
-    src/networkaccess.cpp \
-    src/playlistwidget.cpp \
     src/searchparams.cpp \
     src/minisplitter.cpp \
     src/loadingwidget.cpp \
-    src/videoareawidget.cpp \
     src/autocomplete.cpp \
     src/videodefinition.cpp \
     src/constants.cpp \
@@ -97,15 +149,64 @@ SOURCES += src/main.cpp \
     src/downloadmodel.cpp \
     src/downloadlistview.cpp \
     src/downloadsettings.cpp \
-    src/youtubesuggest.cpp \
     src/channelsuggest.cpp \
     src/temporary.cpp \
     src/segmentedcontrol.cpp \
     src/playlistview.cpp \
     src/refinesearchwidget.cpp \
     src/refinesearchbutton.cpp \
-    src/sidebarwidget.cpp
+    src/sidebarwidget.cpp \
+    src/homeview.cpp \
+    src/mainwindow.cpp \
+    src/mediaview.cpp \
+    src/aboutview.cpp \
+    src/searchview.cpp \
+    src/playlistitemdelegate.cpp \
+    src/playlistmodel.cpp \
+    src/videosource.cpp \
+    src/waitingspinnerwidget.cpp \
+    src/ytsearch.cpp \
+    src/ytstandardfeed.cpp \
+    src/standardfeedsview.cpp \
+    src/ytregions.cpp \
+    src/ytcategories.cpp \
+    src/ytsuggester.cpp \
+    src/videosourcewidget.cpp \
+    src/regionsview.cpp \
+    src/ytsinglevideosource.cpp \
+    src/sidebarheader.cpp \
+    src/iconutils.cpp \
+    src/diskcache.cpp \
+    src/gridwidget.cpp \
+    src/painterutils.cpp \
+    src/database.cpp \
+    src/channelaggregator.cpp \
+    src/channelmodel.cpp \
+    src/aggregatevideosource.cpp \
+    src/channelview.cpp \
+    src/channelitemdelegate.cpp \
+    src/jsfunctions.cpp \
+    src/seekslider.cpp \
+    src/snapshotsettings.cpp \
+    src/snapshotpreview.cpp \
+    src/datautils.cpp \
+    src/yt3listparser.cpp \
+    src/ytchannel.cpp \
+    src/yt3.cpp \
+    src/paginatedvideosource.cpp \
+    src/channellistview.cpp \
+    src/httputils.cpp \
+    src/appwidget.cpp \
+    src/clickablelabel.cpp \
+    src/ytvideo.cpp \
+    src/toolbarmenu.cpp \
+    src/sharetoolbar.cpp \
+    src/videoarea.cpp \
+    src/searchlineedit.cpp
+
 RESOURCES += resources.qrc
+RESOURCES += $$files(icons/*.png, true)
+
 DESTDIR = build/target/
 OBJECTS_DIR = build/obj/
 MOC_DIR = build/moc/
@@ -114,26 +215,32 @@ RCC_DIR = build/rcc/
 # Tell Qt Linguist that we use UTF-8 strings in our sources
 CODECFORTR = UTF-8
 CODECFORSRC = UTF-8
+
 include(locale/locale.pri)
 
 # deploy
-DISTFILES += CHANGES \
-    COPYING
+DISTFILES += CHANGES COPYING
 unix:!mac {
-    INCLUDEPATH += /usr/include/phonon
+    DEFINES += APP_LINUX
     QT += dbus
     HEADERS += src/gnomeglobalshortcutbackend.h
     SOURCES += src/gnomeglobalshortcutbackend.cpp
+
     isEmpty(PREFIX):PREFIX = /usr
+
     BINDIR = $$PREFIX/bin
     INSTALLS += target
     target.path = $$BINDIR
+
     DATADIR = $$PREFIX/share
     PKGDATADIR = $$DATADIR/minitube
     DEFINES += DATADIR=\\\"$$DATADIR\\\" \
         PKGDATADIR=\\\"$$PKGDATADIR\\\"
+
     INSTALLS += translations \
+        sounds \
         desktop \
+        appdata \
         iconsvg \
         icon16 \
         icon22 \
@@ -145,8 +252,12 @@ unix:!mac {
         icon512
     translations.path = $$PKGDATADIR
     translations.files += $$DESTDIR/locale
+    sounds.path = $$PKGDATADIR
+    sounds.files += sounds/
     desktop.path = $$DATADIR/applications
     desktop.files += minitube.desktop
+    appdata.path = $$DATADIR/metainfo
+    appdata.files += org.tordini.flavio.minitube.metainfo.xml
     iconsvg.path = $$DATADIR/icons/hicolor/scalable/apps
     iconsvg.files += data/minitube.svg
     icon16.path = $$DATADIR/icons/hicolor/16x16/apps
@@ -166,4 +277,11 @@ unix:!mac {
     icon512.path = $$DATADIR/icons/hicolor/512x512/apps
     icon512.files += data/512x512/minitube.png
 }
-mac|win32:include(local/local.pri)
+
+mac|win32|contains(DEFINES, APP_UBUNTU):include(local/local.pri)
+
+message(QT: $$QT)
+message(CONFIG: $$CONFIG)
+message(DEFINES: $$DEFINES)
+message(QMAKE_CXXFLAGS: $$QMAKE_CXXFLAGS)
+message(QMAKE_LFLAGS: $$QMAKE_LFLAGS)