experimentally separate executable and core library

This commit is contained in:
Martin Rotter 2019-06-10 09:54:18 +02:00
parent e1ccd3e5c5
commit f12c395e80
371 changed files with 1213 additions and 1016 deletions

46
build.pro Normal file
View File

@ -0,0 +1,46 @@
#################################################################
#
# For license of this file, see <project-root-folder>/LICENSE.md.
#
# This is RSS Guard compilation script for qmake.
#
# Usage:
# a) DEBUG build for testing. (out of source build type)
# cd ../build-dir
# qmake ../rssguard-dir/rssguard.pro -r CONFIG+=debug PREFIX=./usr
# make
# make install
#
# b) RELEASE build for production use. (out of source build type)
# cd ../build-dir
# qmake ../rssguard-dir/rssguard.pro -r CONFIG+=release PREFIX=./usr
# make
# make install
#
# Variables:
# USE_WEBENGINE - if specified, then QtWebEngine module for internal web browser is used.
# Otherwise simple text component is used and some features will be disabled.
# Default value is "false". If QtWebEngine is installed during compilation, then
# value of this variable is tweaked automatically.
# PREFIX - specifies base folder to which files are copied during "make install"
# step, defaults to "$$OUT_PWD/usr" on Linux and to "$$OUT_PWD/app" on Windows.
#
# Other information:
# - supports Windows, Linux, Mac OS X, Android,
# - Qt 5.9.0 or higher is required,
# - C++ 11 is required.
#
# Authors and contributors:
# - Martin Rotter (project leader).
#
#################################################################
TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS = librssguard rssguard
librssguard.subdir = src/librssguard
rssguard.subdir = src/rssguard
rssguard.depends = libtextosaurus

70
pri/build_opts.pri Normal file
View File

@ -0,0 +1,70 @@
CONFIG *= c++1z warn_on resources_big
CONFIG -= debug_and_release
DEFINES *= QT_USE_QSTRINGBUILDER QT_USE_FAST_CONCATENATION QT_USE_FAST_OPERATOR_PLUS UNICODE _UNICODE
VERSION = $$APP_VERSION
QT *= core gui widgets sql network xml
equals(USE_WEBENGINE, true) {
message($$MSG_PREFIX: Application will be compiled WITH QtWebEngine module.)
QT *= webenginewidgets
DEFINES *= USE_WEBENGINE
}
else {
message($$MSG_PREFIX: Application will be compiled without QtWebEngine module. Some features will be disabled.)
}
gcc|g++|clang* {
QMAKE_CXXFLAGS *= -std=c++17
}
msvc {
QMAKE_CXXFLAGS *= /std:c++17
}
clang* {
DEFINES *= CLANG=1
}
# Setup specific compiler options.
CONFIG(release, debug|release) {
message($$MSG_PREFIX: Building in "release" mode.)
gcc:QMAKE_CXXFLAGS_RELEASE -= -O2
clang:QMAKE_CXXFLAGS_RELEASE -= -O2
gcc:QMAKE_CXXFLAGS_RELEASE *= -O3
clang:QMAKE_CXXFLAGS_RELEASE *= -O3
}
else {
message($$MSG_PREFIX: Building in "debug" mode.)
DEFINES *= DEBUG=1
gcc:QMAKE_CXXFLAGS_DEBUG *= -Wall
clang:QMAKE_CXXFLAGS_DEBUG *= -Wall
}
MOC_DIR = $$OUT_PWD/moc
RCC_DIR = $$OUT_PWD/rcc
UI_DIR = $$OUT_PWD/ui
mac {
QT *= macextras
}
# Make needed tweaks for RC file getting generated on Windows.
win32 {
RC_ICONS = ../../resources/graphics/rssguard.ico
QMAKE_TARGET_COMPANY = $$APP_AUTHOR
QMAKE_TARGET_DESCRIPTION = $$APP_NAME ($$APP_TYPE)
QMAKE_TARGET_COPYRIGHT = $$APP_COPYRIGHT
QMAKE_TARGET_PRODUCT = $$APP_NAME
# Additionally link against Shell32.
LIBS *= Shell32.lib
}
static {
message($$MSG_PREFIX: Building static version of library.)
}
else {
message($$MSG_PREFIX: Building shared version of library.)
}

36
pri/defs.pri Normal file
View File

@ -0,0 +1,36 @@
# Custom definitions.
DEFINES *= APP_VERSION='"\\\"$$APP_VERSION\\\""'
DEFINES *= APP_NAME='"\\\"$$APP_NAME\\\""'
DEFINES *= APP_LOW_NAME='"\\\"$$APP_LOW_NAME\\\""'
DEFINES *= APP_LOW_H_NAME='"\\\"$$APP_LOW_H_NAME\\\""'
DEFINES *= APP_LONG_NAME='"\\\"$$APP_LONG_NAME\\\""'
DEFINES *= APP_AUTHOR='"\\\"$$APP_AUTHOR\\\""'
DEFINES *= APP_EMAIL='"\\\"$$APP_EMAIL\\\""'
DEFINES *= APP_URL='"\\\"$$APP_URL\\\""'
DEFINES *= APP_URL_ISSUES='"\\\"$$APP_URL_ISSUES\\\""'
DEFINES *= APP_URL_ISSUES_NEW='"\\\"$$APP_URL_ISSUES_NEW\\\""'
DEFINES *= APP_URL_WIKI='"\\\"$$APP_URL_WIKI\\\""'
DEFINES *= APP_USERAGENT='"\\\"$$APP_USERAGENT\\\""'
DEFINES *= APP_DONATE_URL='"\\\"$$APP_DONATE_URL\\\""'
DEFINES *= APP_SYSTEM_NAME='"\\\"$$QMAKE_HOST.os\\\""'
DEFINES *= APP_SYSTEM_VERSION='"\\\"$$QMAKE_HOST.arch\\\""'
DISTFILES += ../../resources/scripts/uncrustify/uncrustify.cfg
CODECFORTR = UTF-8
CODECFORSRC = UTF-8
exists(.git) {
APP_REVISION = $$system(git rev-parse --short HEAD)
}
isEmpty(APP_REVISION) {
APP_REVISION = ""
}
equals(USE_WEBENGINE, false) {
# Add extra revision naming when building without webengine.
APP_REVISION = $$sprintf('%1-%2', $$APP_REVISION, nowebengine)
}
DEFINES *= APP_REVISION='"\\\"$$APP_REVISION\\\""'

269
pri/install.pri Normal file
View File

@ -0,0 +1,269 @@
# Setup all public headers, this needs to be kept in
# sync with truly used headers.
INSTALL_HEADERS = \
../librssguard/core/feeddownloader.h \
../librssguard/core/feedsmodel.h \
../librssguard/core/feedsproxymodel.h \
../librssguard/core/message.h \
../librssguard/core/messagesmodel.h \
../librssguard/core/messagesmodelcache.h \
../librssguard/core/messagesmodelsqllayer.h \
../librssguard/core/messagesproxymodel.h \
../librssguard/definitions/definitions.h \
../librssguard/dynamic-shortcuts/dynamicshortcuts.h \
../librssguard/dynamic-shortcuts/dynamicshortcutswidget.h \
../librssguard/dynamic-shortcuts/shortcutbutton.h \
../librssguard/dynamic-shortcuts/shortcutcatcher.h \
../librssguard/exceptions/applicationexception.h \
../librssguard/exceptions/ioexception.h \
../librssguard/gui/baselineedit.h \
../librssguard/gui/basetoolbar.h \
../librssguard/gui/colorlabel.h \
../librssguard/gui/comboboxwithstatus.h \
../librssguard/gui/dialogs/formabout.h \
../librssguard/gui/dialogs/formaddaccount.h \
../librssguard/gui/dialogs/formbackupdatabasesettings.h \
../librssguard/gui/dialogs/formdatabasecleanup.h \
../librssguard/gui/dialogs/formmain.h \
../librssguard/gui/dialogs/formrestoredatabasesettings.h \
../librssguard/gui/dialogs/formsettings.h \
../librssguard/gui/dialogs/formupdate.h \
../librssguard/gui/dialogs/oauthlogin.h \
../librssguard/gui/discoverfeedsbutton.h \
../librssguard/gui/edittableview.h \
../librssguard/gui/feedmessageviewer.h \
../librssguard/gui/feedstoolbar.h \
../librssguard/gui/feedsview.h \
../librssguard/gui/guiutilities.h \
../librssguard/gui/labelwithstatus.h \
../librssguard/gui/lineeditwithstatus.h \
../librssguard/gui/locationlineedit.h \
../librssguard/gui/messagebox.h \
../librssguard/gui/messagepreviewer.h \
../librssguard/gui/messagessearchlineedit.h \
../librssguard/gui/messagestoolbar.h \
../librssguard/gui/messagesview.h \
../librssguard/gui/messagetextbrowser.h \
../librssguard/gui/newspaperpreviewer.h \
../librssguard/gui/plaintoolbutton.h \
../librssguard/gui/searchtextwidget.h \
../librssguard/gui/settings/settingsbrowsermail.h \
../librssguard/gui/settings/settingsdatabase.h \
../librssguard/gui/settings/settingsdownloads.h \
../librssguard/gui/settings/settingsfeedsmessages.h \
../librssguard/gui/settings/settingsgeneral.h \
../librssguard/gui/settings/settingsgui.h \
../librssguard/gui/settings/settingslocalization.h \
../librssguard/gui/settings/settingspanel.h \
../librssguard/gui/settings/settingsshortcuts.h \
../librssguard/gui/squeezelabel.h \
../librssguard/gui/statusbar.h \
../librssguard/gui/styleditemdelegatewithoutfocus.h \
../librssguard/gui/systemtrayicon.h \
../librssguard/gui/tabbar.h \
../librssguard/gui/tabcontent.h \
../librssguard/gui/tabwidget.h \
../librssguard/gui/timespinbox.h \
../librssguard/gui/toolbareditor.h \
../librssguard/gui/treeviewcolumnsmenu.h \
../librssguard/gui/treewidget.h \
../librssguard/gui/webbrowser.h \
../librssguard/gui/webviewer.h \
../librssguard/gui/widgetwithstatus.h \
../librssguard/miscellaneous/application.h \
../librssguard/miscellaneous/autosaver.h \
../librssguard/miscellaneous/databasecleaner.h \
../librssguard/miscellaneous/databasefactory.h \
../librssguard/miscellaneous/databasequeries.h \
../librssguard/miscellaneous/debugging.h \
../librssguard/miscellaneous/externaltool.h \
../librssguard/miscellaneous/feedreader.h \
../librssguard/miscellaneous/iconfactory.h \
../librssguard/miscellaneous/iofactory.h \
../librssguard/miscellaneous/localization.h \
../librssguard/miscellaneous/mutex.h \
../librssguard/miscellaneous/regexfactory.h \
../librssguard/miscellaneous/settings.h \
../librssguard/miscellaneous/settingsproperties.h \
../librssguard/miscellaneous/simplecrypt/simplecrypt.h \
../librssguard/miscellaneous/skinfactory.h \
../librssguard/miscellaneous/systemfactory.h \
../librssguard/miscellaneous/textfactory.h \
../librssguard/network-web/adblock/adblockaddsubscriptiondialog.h \
../librssguard/network-web/adblock/adblockdialog.h \
../librssguard/network-web/adblock/adblockicon.h \
../librssguard/network-web/adblock/adblockmanager.h \
../librssguard/network-web/adblock/adblockmatcher.h \
../librssguard/network-web/adblock/adblockrule.h \
../librssguard/network-web/adblock/adblocksearchtree.h \
../librssguard/network-web/adblock/adblocksubscription.h \
../librssguard/network-web/adblock/adblocktreewidget.h \
../librssguard/network-web/adblock/adblockurlinterceptor.h \
../librssguard/network-web/basenetworkaccessmanager.h \
../librssguard/network-web/downloader.h \
../librssguard/network-web/downloadmanager.h \
../librssguard/network-web/googlesuggest.h \
../librssguard/network-web/httpresponse.h \
../librssguard/network-web/networkfactory.h \
../librssguard/network-web/networkurlinterceptor.h \
../librssguard/network-web/oauth2service.h \
../librssguard/network-web/oauthhttphandler.h \
../librssguard/network-web/rssguardschemehandler.h \
../librssguard/network-web/silentnetworkaccessmanager.h \
../librssguard/network-web/urlinterceptor.h \
../librssguard/network-web/webfactory.h \
../librssguard/network-web/webpage.h \
../librssguard/qtsingleapplication/qtlocalpeer.h \
../librssguard/qtsingleapplication/qtlockedfile.h \
../librssguard/qtsingleapplication/qtsingleapplication.h \
../librssguard/qtsingleapplication/qtsinglecoreapplication.h \
../librssguard/services/abstract/accountcheckmodel.h \
../librssguard/services/abstract/cacheforserviceroot.h \
../librssguard/services/abstract/category.h \
../librssguard/services/abstract/feed.h \
../librssguard/services/abstract/gui/formfeeddetails.h \
../librssguard/services/abstract/recyclebin.h \
../librssguard/services/abstract/rootitem.h \
../librssguard/services/abstract/serviceentrypoint.h \
../librssguard/services/abstract/serviceroot.h \
../librssguard/services/gmail/definitions.h \
../librssguard/services/gmail/gmailentrypoint.h \
../librssguard/services/gmail/gmailfeed.h \
../librssguard/services/gmail/gmailserviceroot.h \
../librssguard/services/gmail/gui/formaddeditemail.h \
../librssguard/services/gmail/gui/formdownloadattachment.h \
../librssguard/services/gmail/gui/formeditgmailaccount.h \
../librssguard/services/gmail/network/gmailnetworkfactory.h \
../librssguard/services/inoreader/definitions.h \
../librssguard/services/inoreader/gui/formeditinoreaderaccount.h \
../librssguard/services/inoreader/inoreaderentrypoint.h \
../librssguard/services/inoreader/inoreaderfeed.h \
../librssguard/services/inoreader/inoreaderserviceroot.h \
../librssguard/services/inoreader/network/inoreadernetworkfactory.h \
../librssguard/services/owncloud/definitions.h \
../librssguard/services/owncloud/gui/formeditowncloudaccount.h \
../librssguard/services/owncloud/gui/formowncloudfeeddetails.h \
../librssguard/services/owncloud/network/owncloudnetworkfactory.h \
../librssguard/services/owncloud/owncloudfeed.h \
../librssguard/services/owncloud/owncloudserviceentrypoint.h \
../librssguard/services/owncloud/owncloudserviceroot.h \
../librssguard/services/standard/atomparser.h \
../librssguard/services/standard/feedparser.h \
../librssguard/services/standard/gui/formstandardcategorydetails.h \
../librssguard/services/standard/gui/formstandardfeeddetails.h \
../librssguard/services/standard/gui/formstandardimportexport.h \
../librssguard/services/standard/rdfparser.h \
../librssguard/services/standard/rssparser.h \
../librssguard/services/standard/standardcategory.h \
../librssguard/services/standard/standardfeed.h \
../librssguard/services/standard/standardfeedsimportexportmodel.h \
../librssguard/services/standard/standardserviceentrypoint.h \
../librssguard/services/standard/standardserviceroot.h \
../librssguard/services/tt-rss/definitions.h \
../librssguard/services/tt-rss/gui/formeditttrssaccount.h \
../librssguard/services/tt-rss/gui/formttrssfeeddetails.h \
../librssguard/services/tt-rss/network/ttrssnetworkfactory.h \
../librssguard/services/tt-rss/ttrssfeed.h \
../librssguard/services/tt-rss/ttrssserviceentrypoint.h \
../librssguard/services/tt-rss/ttrssserviceroot.h
# Install all files on Windows.
win32 {
target.path = $$PREFIX
lib.files = $$OUT_PWD/../librssguard/librssguard.dll $$OUT_PWD/../librssguard/librssguard.lib
lib.path = $$PREFIX
lib.CONFIG = no_check_exist
qt_dlls_root.files = resources/binaries/windows/qt5-msvc2017/*.*
qt_dlls_root.path = $$quote($$PREFIX/)
qt_dlls_plugins.files = resources/binaries/windows/qt5-msvc2017/*
qt_dlls_plugins.path = $$quote($$PREFIX/)
INSTALLS += target lib qt_dlls_root qt_dlls_plugins
equals(USE_WEBENGINE, true) {
# Copy extra resource files for QtWebEngine.
qtwebengine_dlls.files = resources/binaries/windows/qt5-msvc2017-webengine/*
qtwebengine_dlls.path = $$quote($$PREFIX/)
qtwebengine.files = resources/binaries/windows/qt5-msvc2017-webengine/*.*
qtwebengine.path = $$quote($$PREFIX/)
INSTALLS += qtwebengine_dlls qtwebengine
}
INSTALL_HEADERS_PREFIX = $$quote($$PREFIX/include/librssguard/)
}
# Install all files on Linux.
unix:!mac:!android {
target.path = $$PREFIX/bin
desktop_file.files = resources/desktop/$${APP_REVERSE_NAME}.desktop
desktop_file.path = $$quote($$PREFIX/share/applications/)
appdata.files = resources/desktop/$${APP_REVERSE_NAME}.appdata.xml
appdata.path = $$quote($$PREFIX/share/metainfo/)
lib.files = $$OUT_PWD/../librssguard/librssguard.so
lib.path = $$quote($$PREFIX/lib/)
lib.CONFIG = no_check_exist
desktop_icon.files = resources/graphics/$${TARGET}.png
desktop_icon.path = $$quote($$PREFIX/share/icons/hicolor/512x512/apps/)
INSTALLS += target lib desktop_file desktop_icon appdata
INSTALL_HEADERS_PREFIX = $$quote($$PREFIX/include/librssguard/)
}
mac {
IDENTIFIER = $$APP_REVERSE_NAME
CONFIG -= app_bundle
ICON = resources/macosx/$${TARGET}.icns
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.8
LIBS += -framework AppKit
QMAKE_POST_LINK += $$system(install_name_tool -change "librssguard.dylib" "@executable_path/librssguard.dylib" $$OUT_PWD/rssguard)
target.path = $$quote($$PREFIX/Contents/MacOS/)
lib.files = $$OUT_PWD/../librssguard/librssguard.dylib
lib.path = $$quote($$PREFIX/Contents/MacOS/)
lib.CONFIG = no_check_exist
# Install app icon.
icns_icon.files = resources/macosx/$${TARGET}.icns
icns_icon.path = $$quote($$PREFIX/Contents/Resources/)
# Install Info.plist.
info_plist.files = resources/macosx/Info.plist.in
info_plist.path = $$quote($$PREFIX/Contents/)
# Process the just installed Info.plist.
info_plist2.extra = @sed -e "s,@EXECUTABLE@,$$TARGET,g" -e "s,@SHORT_VERSION@,$$APP_VERSION,g" -e "s,@APP_NAME@,\"$$APP_NAME\",g" -e "s,@ICON@,$$basename(ICON),g" -e "s,@TYPEINFO@,"????",g" $$shell_quote($$PREFIX/Contents/Info.plist.in) > $$shell_quote($$PREFIX/Contents/Info.plist) && \
rm -f $$shell_quote($$PREFIX/Contents/Info.plist.in)
info_plist2.path = $$quote($$PREFIX/Contents/)
# Install PkgInfo
pkginfo.extra = @printf "APPL????" > $$shell_quote($$PREFIX/Contents/PkgInfo)
pkginfo.path = $$quote($$PREFIX/Contents/)
INSTALLS += target lib icns_icon info_plist info_plist2 pkginfo
INSTALL_HEADERS_PREFIX = $$quote($$PREFIX/Contents/Resources/Include/libtextosaurus/)
}
# Create install step for each folder of public headers.
for(header, INSTALL_HEADERS) {
path = $${INSTALL_HEADERS_PREFIX}/$${dirname(header)}
message($$MSG_PREFIX: Adding header \"$$header\" to \"make install\" step.)
eval(headers_$${dirname(header)}.files += $$header)
eval(headers_$${dirname(header)}.path = $$path)
eval(INSTALLS *= headers_$${dirname(header)})
}

36
pri/vars.pri Normal file
View File

@ -0,0 +1,36 @@
APP_NAME = "RSS Guard"
APP_LOW_NAME = "rssguard"
APP_REVERSE_NAME = "com.github.rssguard"
APP_LOW_H_NAME = ".rssguard"
APP_AUTHOR = "Martin Rotter"
APP_COPYRIGHT = "(C) 2011-2019 $$APP_AUTHOR"
APP_VERSION = "3.6.0"
APP_LONG_NAME = "$$APP_NAME $$APP_VERSION"
APP_EMAIL = "rotter.martinos@gmail.com"
APP_URL = "https://github.com/martinrotter/rssguard"
APP_URL_ISSUES = "https://github.com/martinrotter/rssguard/issues"
APP_URL_ISSUES_NEW = "https://github.com/martinrotter/rssguard/issues/new"
APP_URL_WIKI = "https://github.com/martinrotter/rssguard/wiki"
APP_USERAGENT = "RSS Guard/$$APP_VERSION (github.com/martinrotter/rssguard)"
APP_DONATE_URL = "https://martinrotter.github.io/donate"
APP_WIN_ARCH = "win64"
message(rssguard: Welcome RSS Guard qmake script.)
lessThan(QT_MAJOR_VERSION, 5)|lessThan(QT_MINOR_VERSION, 9) {
warning(rssguard: At least Qt \"5.9.0\" is required!!!)
}
isEmpty(USE_WEBENGINE) {
USE_WEBENGINE = false
message($$MSG_PREFIX: USE_WEBENGINE variable is not set.)
qtHaveModule(webenginewidgets) {
USE_WEBENGINE = true
##message($$MSG_PREFIX: WebEngine component IS installed, enabling it.)
}
else {
USE_WEBENGINE = false
##message($$MSG_PREFIX: WebEngine component is probably NOT installed, disabling it.)
}
}

View File

@ -30,7 +30,7 @@
<url type="donation">https://martinrotter.github.io/donate/</url>
<content_rating type="oars-1.1" />
<releases>
<release version="3.5.9" date="2019-06-07"/>
<release version="3.5.9" date="2019-06-10"/>
</releases>
<content_rating type="oars-1.0">
<content_attribute id="violence-cartoon">none</content_attribute>

View File

@ -1,771 +0,0 @@
#################################################################
#
# For license of this file, see <project-root-folder>/LICENSE.md.
#
# This is RSS Guard compilation script for qmake.
#
# Usage:
# a) DEBUG build for testing. (out of source build type)
# cd ../build-dir
# qmake ../rssguard-dir/rssguard.pro -r CONFIG+=debug PREFIX=./usr
# make
# make install
#
# b) RELEASE build for production use. (out of source build type)
# cd ../build-dir
# qmake ../rssguard-dir/rssguard.pro -r CONFIG+=release PREFIX=./usr
# make
# make install
#
# Variables:
# USE_WEBENGINE - if specified, then QtWebEngine module for internal web browser is used.
# Otherwise simple text component is used and some features will be disabled.
# Default value is "false". If QtWebEngine is installed during compilation, then
# value of this variable is tweaked automatically.
# PREFIX - specifies base folder to which files are copied during "make install"
# step, defaults to "$$OUT_PWD/usr" on Linux and to "$$OUT_PWD/app" on Windows.
#
# Other information:
# - supports Windows, Linux, Mac OS X, Android,
# - Qt 5.7.0 or higher is required,
# - C++ 11 is required.
#
# Authors and contributors:
# - Martin Rotter (project leader),
# - Elbert Pol (huge OS/2-related contributions).
#
#################################################################
TEMPLATE = app
TARGET = rssguard
message(rssguard: Welcome RSS Guard qmake script.)
lessThan(QT_MAJOR_VERSION, 5)|lessThan(QT_MINOR_VERSION, 9) {
warning(rssguard: At least Qt \"5.9.0\" is required!!!)
}
APP_NAME = "RSS Guard"
APP_LOW_NAME = "rssguard"
APP_REVERSE_NAME = "com.github.rssguard"
APP_LOW_H_NAME = ".rssguard"
APP_AUTHOR = "Martin Rotter"
APP_COPYRIGHT = "(C) 2011-2019 $$APP_AUTHOR"
APP_VERSION = "3.5.10"
APP_LONG_NAME = "$$APP_NAME $$APP_VERSION"
APP_EMAIL = "rotter.martinos@gmail.com"
APP_URL = "https://github.com/martinrotter/rssguard"
APP_URL_ISSUES = "https://github.com/martinrotter/rssguard/issues"
APP_URL_ISSUES_NEW = "https://github.com/martinrotter/rssguard/issues/new"
APP_URL_WIKI = "https://github.com/martinrotter/rssguard/wiki"
APP_USERAGENT = "RSS Guard/$$APP_VERSION (github.com/martinrotter/rssguard)"
APP_DONATE_URL = "https://martinrotter.github.io/donate"
APP_WIN_ARCH = "win64"
isEmpty(PREFIX) {
message(rssguard: PREFIX variable is not set. This might indicate error.)
win32 {
PREFIX = $$OUT_PWD/app
}
android {
PREFIX = $$OUT_PWD/app
}
mac {
PREFIX = $$quote($$OUT_PWD/$${APP_NAME}.app)
}
unix:!mac:!android {
PREFIX = $$OUT_PWD/AppDir/usr
}
}
isEmpty(USE_WEBENGINE) {
USE_WEBENGINE = false
message("rssguard: USE_WEBENGINE variable is not set.")
qtHaveModule(webenginewidgets) {
USE_WEBENGINE = true
message("rssguard: WebEngine component IS installed, enabling it.")
}
else {
USE_WEBENGINE = false
message("rssguard: WebEngine component is probably NOT installed, disabling it.")
}
}
message(rssguard: Shadow copy build directory \"$$OUT_PWD\".)
# Custom definitions.
DEFINES *= APP_VERSION='"\\\"$$APP_VERSION\\\""'
DEFINES *= APP_NAME='"\\\"$$APP_NAME\\\""'
DEFINES *= APP_LOW_NAME='"\\\"$$APP_LOW_NAME\\\""'
DEFINES *= APP_LOW_H_NAME='"\\\"$$APP_LOW_H_NAME\\\""'
DEFINES *= APP_LONG_NAME='"\\\"$$APP_LONG_NAME\\\""'
DEFINES *= APP_AUTHOR='"\\\"$$APP_AUTHOR\\\""'
DEFINES *= APP_EMAIL='"\\\"$$APP_EMAIL\\\""'
DEFINES *= APP_URL='"\\\"$$APP_URL\\\""'
DEFINES *= APP_URL_ISSUES='"\\\"$$APP_URL_ISSUES\\\""'
DEFINES *= APP_URL_ISSUES_NEW='"\\\"$$APP_URL_ISSUES_NEW\\\""'
DEFINES *= APP_URL_WIKI='"\\\"$$APP_URL_WIKI\\\""'
DEFINES *= APP_USERAGENT='"\\\"$$APP_USERAGENT\\\""'
DEFINES *= APP_DONATE_URL='"\\\"$$APP_DONATE_URL\\\""'
DEFINES *= APP_SYSTEM_NAME='"\\\"$$QMAKE_HOST.os\\\""'
DEFINES *= APP_SYSTEM_VERSION='"\\\"$$QMAKE_HOST.arch\\\""'
CODECFORTR = UTF-8
CODECFORSRC = UTF-8
exists(.git) {
APP_REVISION = $$system(git rev-parse --short HEAD)
}
isEmpty(APP_REVISION) {
APP_REVISION = ""
}
equals(USE_WEBENGINE, false) {
# Add extra revision naming when building without webengine.
APP_REVISION = $$sprintf('%1-%2', $$APP_REVISION, nowebengine)
}
DEFINES *= APP_REVISION='"\\\"$$APP_REVISION\\\""'
message(rssguard: RSS Guard version is: \"$$APP_VERSION\".)
message(rssguard: Detected Qt version: \"$$QT_VERSION\".)
message(rssguard: Build destination directory: \"$$DESTDIR\".)
message(rssguard: Prefix directory: \"$$PREFIX\".)
message(rssguard: Build revision: \"$$APP_REVISION\".)
message(rssguard: lrelease executable name: \"$$LRELEASE\".)
QT *= core gui widgets sql network xml
CONFIG *= c++1z warn_on
CONFIG -= debug_and_release
DEFINES *= QT_USE_QSTRINGBUILDER QT_USE_FAST_CONCATENATION QT_USE_FAST_OPERATOR_PLUS UNICODE _UNICODE
VERSION = $$APP_VERSION
win32 {
# Makes sure we use correct subsystem on Windows.
!contains(QMAKE_TARGET.arch, x86_64) {
message(rssguard: Compilling x86 variant.)
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01
} else {
message(rssguard: Compilling x86_64 variant.)
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.02
}
# Additionally link against Shell32.
LIBS *= Shell32.lib
}
gcc|g++|clang* {
QMAKE_CXXFLAGS *= -std=c++17
}
msvc {
QMAKE_CXXFLAGS *= /std:c++17
}
clang* {
DEFINES *= CLANG=1
}
# Setup specific compiler options.
CONFIG(release, debug|release) {
message(rssguard: Building in "release" mode.)
gcc:QMAKE_CXXFLAGS_RELEASE -= -O2
clang:QMAKE_CXXFLAGS_RELEASE -= -O2
gcc:QMAKE_CXXFLAGS_RELEASE *= -O3
clang:QMAKE_CXXFLAGS_RELEASE *= -O3
}
else {
message(rssguard: Building in "debug" mode.)
DEFINES *= DEBUG=1
gcc:QMAKE_CXXFLAGS_DEBUG *= -Wall
clang:QMAKE_CXXFLAGS_DEBUG *= -Wall
}
DISTFILES += resources/scripts/uncrustify/uncrustify.cfg
MOC_DIR = $$OUT_PWD/moc
RCC_DIR = $$OUT_PWD/rcc
UI_DIR = $$OUT_PWD/ui
mac {
QT *= macextras
}
equals(USE_WEBENGINE, true) {
message(rssguard: Application will be compiled WITH QtWebEngine module.)
QT *= webenginewidgets
DEFINES *= USE_WEBENGINE
}
else {
message(rssguard: Application will be compiled without QtWebEngine module. Some features will be disabled.)
}
# Make needed tweaks for RC file getting generated on Windows.
win32 {
RC_ICONS = resources/graphics/rssguard.ico
QMAKE_TARGET_COMPANY = $$APP_AUTHOR
QMAKE_TARGET_DESCRIPTION = $$APP_NAME
QMAKE_TARGET_COPYRIGHT = $$APP_COPYRIGHT
QMAKE_TARGET_PRODUCT = $$APP_NAME
}
CONFIG *= resources_big
RESOURCES += resources/sql.qrc \
resources/rssguard.qrc \
resources/icons.qrc
HEADERS += src/core/feeddownloader.h \
src/core/feedsmodel.h \
src/core/feedsproxymodel.h \
src/core/message.h \
src/core/messagesmodel.h \
src/core/messagesmodelcache.h \
src/core/messagesmodelsqllayer.h \
src/core/messagesproxymodel.h \
src/definitions/definitions.h \
src/dynamic-shortcuts/dynamicshortcuts.h \
src/dynamic-shortcuts/dynamicshortcutswidget.h \
src/dynamic-shortcuts/shortcutbutton.h \
src/dynamic-shortcuts/shortcutcatcher.h \
src/exceptions/applicationexception.h \
src/exceptions/ioexception.h \
src/gui/baselineedit.h \
src/gui/basetoolbar.h \
src/gui/colorlabel.h \
src/gui/comboboxwithstatus.h \
src/gui/dialogs/formabout.h \
src/gui/dialogs/formaddaccount.h \
src/gui/dialogs/formbackupdatabasesettings.h \
src/gui/dialogs/formdatabasecleanup.h \
src/gui/dialogs/formmain.h \
src/gui/dialogs/formrestoredatabasesettings.h \
src/gui/dialogs/formsettings.h \
src/gui/dialogs/formupdate.h \
src/gui/edittableview.h \
src/gui/feedmessageviewer.h \
src/gui/feedstoolbar.h \
src/gui/feedsview.h \
src/gui/guiutilities.h \
src/gui/labelwithstatus.h \
src/gui/lineeditwithstatus.h \
src/gui/messagebox.h \
src/gui/messagessearchlineedit.h \
src/gui/messagestoolbar.h \
src/gui/messagesview.h \
src/gui/plaintoolbutton.h \
src/gui/settings/settingsbrowsermail.h \
src/gui/settings/settingsdatabase.h \
src/gui/settings/settingsdownloads.h \
src/gui/settings/settingsfeedsmessages.h \
src/gui/settings/settingsgeneral.h \
src/gui/settings/settingsgui.h \
src/gui/settings/settingslocalization.h \
src/gui/settings/settingspanel.h \
src/gui/settings/settingsshortcuts.h \
src/gui/squeezelabel.h \
src/gui/statusbar.h \
src/gui/styleditemdelegatewithoutfocus.h \
src/gui/systemtrayicon.h \
src/gui/tabbar.h \
src/gui/tabcontent.h \
src/gui/tabwidget.h \
src/gui/timespinbox.h \
src/gui/toolbareditor.h \
src/gui/treeviewcolumnsmenu.h \
src/gui/widgetwithstatus.h \
src/miscellaneous/application.h \
src/miscellaneous/autosaver.h \
src/miscellaneous/databasecleaner.h \
src/miscellaneous/databasefactory.h \
src/miscellaneous/databasequeries.h \
src/miscellaneous/debugging.h \
src/miscellaneous/externaltool.h \
src/miscellaneous/feedreader.h \
src/miscellaneous/iconfactory.h \
src/miscellaneous/iofactory.h \
src/miscellaneous/localization.h \
src/miscellaneous/mutex.h \
src/miscellaneous/regexfactory.h \
src/miscellaneous/settings.h \
src/miscellaneous/settingsproperties.h \
src/miscellaneous/simplecrypt/simplecrypt.h \
src/miscellaneous/skinfactory.h \
src/miscellaneous/systemfactory.h \
src/miscellaneous/textfactory.h \
src/network-web/basenetworkaccessmanager.h \
src/network-web/downloader.h \
src/network-web/downloadmanager.h \
src/network-web/networkfactory.h \
src/network-web/oauth2service.h \
src/network-web/silentnetworkaccessmanager.h \
src/network-web/webfactory.h \
src/qtsingleapplication/qtlocalpeer.h \
src/qtsingleapplication/qtlockedfile.h \
src/qtsingleapplication/qtsingleapplication.h \
src/qtsingleapplication/qtsinglecoreapplication.h \
src/services/abstract/accountcheckmodel.h \
src/services/abstract/cacheforserviceroot.h \
src/services/abstract/category.h \
src/services/abstract/feed.h \
src/services/abstract/gui/formfeeddetails.h \
src/services/abstract/recyclebin.h \
src/services/abstract/rootitem.h \
src/services/abstract/serviceentrypoint.h \
src/services/abstract/serviceroot.h \
src/services/gmail/definitions.h \
src/services/gmail/gmailentrypoint.h \
src/services/gmail/gmailfeed.h \
src/services/gmail/gmailserviceroot.h \
src/services/gmail/gui/formeditgmailaccount.h \
src/services/gmail/network/gmailnetworkfactory.h \
src/services/inoreader/definitions.h \
src/services/inoreader/gui/formeditinoreaderaccount.h \
src/services/inoreader/inoreaderentrypoint.h \
src/services/inoreader/inoreaderfeed.h \
src/services/inoreader/inoreaderserviceroot.h \
src/services/inoreader/network/inoreadernetworkfactory.h \
src/services/owncloud/definitions.h \
src/services/owncloud/gui/formeditowncloudaccount.h \
src/services/owncloud/gui/formowncloudfeeddetails.h \
src/services/owncloud/network/owncloudnetworkfactory.h \
src/services/owncloud/owncloudfeed.h \
src/services/owncloud/owncloudserviceentrypoint.h \
src/services/owncloud/owncloudserviceroot.h \
src/services/standard/atomparser.h \
src/services/standard/feedparser.h \
src/services/standard/gui/formstandardcategorydetails.h \
src/services/standard/gui/formstandardfeeddetails.h \
src/services/standard/gui/formstandardimportexport.h \
src/services/standard/rdfparser.h \
src/services/standard/rssparser.h \
src/services/standard/standardcategory.h \
src/services/standard/standardfeed.h \
src/services/standard/standardfeedsimportexportmodel.h \
src/services/standard/standardserviceentrypoint.h \
src/services/standard/standardserviceroot.h \
src/services/tt-rss/definitions.h \
src/services/tt-rss/gui/formeditttrssaccount.h \
src/services/tt-rss/gui/formttrssfeeddetails.h \
src/services/tt-rss/network/ttrssnetworkfactory.h \
src/services/tt-rss/ttrssfeed.h \
src/services/tt-rss/ttrssserviceentrypoint.h \
src/services/tt-rss/ttrssserviceroot.h \
src/network-web/httpresponse.h \
src/services/gmail/gui/formdownloadattachment.h \
src/services/gmail/gui/formaddeditemail.h \
src/gui/searchtextwidget.h
SOURCES += src/core/feeddownloader.cpp \
src/core/feedsmodel.cpp \
src/core/feedsproxymodel.cpp \
src/core/message.cpp \
src/core/messagesmodel.cpp \
src/core/messagesmodelcache.cpp \
src/core/messagesmodelsqllayer.cpp \
src/core/messagesproxymodel.cpp \
src/dynamic-shortcuts/dynamicshortcuts.cpp \
src/dynamic-shortcuts/dynamicshortcutswidget.cpp \
src/dynamic-shortcuts/shortcutbutton.cpp \
src/dynamic-shortcuts/shortcutcatcher.cpp \
src/exceptions/applicationexception.cpp \
src/exceptions/ioexception.cpp \
src/gui/baselineedit.cpp \
src/gui/basetoolbar.cpp \
src/gui/colorlabel.cpp \
src/gui/comboboxwithstatus.cpp \
src/gui/dialogs/formabout.cpp \
src/gui/dialogs/formaddaccount.cpp \
src/gui/dialogs/formbackupdatabasesettings.cpp \
src/gui/dialogs/formdatabasecleanup.cpp \
src/gui/dialogs/formmain.cpp \
src/gui/dialogs/formrestoredatabasesettings.cpp \
src/gui/dialogs/formsettings.cpp \
src/gui/dialogs/formupdate.cpp \
src/gui/edittableview.cpp \
src/gui/feedmessageviewer.cpp \
src/gui/feedstoolbar.cpp \
src/gui/feedsview.cpp \
src/gui/guiutilities.cpp \
src/gui/labelwithstatus.cpp \
src/gui/lineeditwithstatus.cpp \
src/gui/messagebox.cpp \
src/gui/messagessearchlineedit.cpp \
src/gui/messagestoolbar.cpp \
src/gui/messagesview.cpp \
src/gui/plaintoolbutton.cpp \
src/gui/settings/settingsbrowsermail.cpp \
src/gui/settings/settingsdatabase.cpp \
src/gui/settings/settingsdownloads.cpp \
src/gui/settings/settingsfeedsmessages.cpp \
src/gui/settings/settingsgeneral.cpp \
src/gui/settings/settingsgui.cpp \
src/gui/settings/settingslocalization.cpp \
src/gui/settings/settingspanel.cpp \
src/gui/settings/settingsshortcuts.cpp \
src/gui/squeezelabel.cpp \
src/gui/statusbar.cpp \
src/gui/styleditemdelegatewithoutfocus.cpp \
src/gui/systemtrayicon.cpp \
src/gui/tabbar.cpp \
src/gui/tabcontent.cpp \
src/gui/tabwidget.cpp \
src/gui/timespinbox.cpp \
src/gui/toolbareditor.cpp \
src/gui/treeviewcolumnsmenu.cpp \
src/gui/widgetwithstatus.cpp \
src/main.cpp \
src/miscellaneous/application.cpp \
src/miscellaneous/autosaver.cpp \
src/miscellaneous/databasecleaner.cpp \
src/miscellaneous/databasefactory.cpp \
src/miscellaneous/databasequeries.cpp \
src/miscellaneous/debugging.cpp \
src/miscellaneous/externaltool.cpp \
src/miscellaneous/feedreader.cpp \
src/miscellaneous/iconfactory.cpp \
src/miscellaneous/iofactory.cpp \
src/miscellaneous/localization.cpp \
src/miscellaneous/mutex.cpp \
src/miscellaneous/regexfactory.cpp \
src/miscellaneous/settings.cpp \
src/miscellaneous/simplecrypt/simplecrypt.cpp \
src/miscellaneous/skinfactory.cpp \
src/miscellaneous/systemfactory.cpp \
src/miscellaneous/textfactory.cpp \
src/network-web/basenetworkaccessmanager.cpp \
src/network-web/downloader.cpp \
src/network-web/downloadmanager.cpp \
src/network-web/networkfactory.cpp \
src/network-web/oauth2service.cpp \
src/network-web/silentnetworkaccessmanager.cpp \
src/network-web/webfactory.cpp \
src/qtsingleapplication/qtlocalpeer.cpp \
src/qtsingleapplication/qtlockedfile.cpp \
src/qtsingleapplication/qtsingleapplication.cpp \
src/qtsingleapplication/qtsinglecoreapplication.cpp \
src/services/abstract/accountcheckmodel.cpp \
src/services/abstract/cacheforserviceroot.cpp \
src/services/abstract/category.cpp \
src/services/abstract/feed.cpp \
src/services/abstract/gui/formfeeddetails.cpp \
src/services/abstract/recyclebin.cpp \
src/services/abstract/rootitem.cpp \
src/services/abstract/serviceentrypoint.cpp \
src/services/abstract/serviceroot.cpp \
src/services/gmail/gmailentrypoint.cpp \
src/services/gmail/gmailfeed.cpp \
src/services/gmail/gmailserviceroot.cpp \
src/services/gmail/gui/formeditgmailaccount.cpp \
src/services/gmail/network/gmailnetworkfactory.cpp \
src/services/inoreader/gui/formeditinoreaderaccount.cpp \
src/services/inoreader/inoreaderentrypoint.cpp \
src/services/inoreader/inoreaderfeed.cpp \
src/services/inoreader/inoreaderserviceroot.cpp \
src/services/inoreader/network/inoreadernetworkfactory.cpp \
src/services/owncloud/gui/formeditowncloudaccount.cpp \
src/services/owncloud/gui/formowncloudfeeddetails.cpp \
src/services/owncloud/network/owncloudnetworkfactory.cpp \
src/services/owncloud/owncloudfeed.cpp \
src/services/owncloud/owncloudserviceentrypoint.cpp \
src/services/owncloud/owncloudserviceroot.cpp \
src/services/standard/atomparser.cpp \
src/services/standard/feedparser.cpp \
src/services/standard/gui/formstandardcategorydetails.cpp \
src/services/standard/gui/formstandardfeeddetails.cpp \
src/services/standard/gui/formstandardimportexport.cpp \
src/services/standard/rdfparser.cpp \
src/services/standard/rssparser.cpp \
src/services/standard/standardcategory.cpp \
src/services/standard/standardfeed.cpp \
src/services/standard/standardfeedsimportexportmodel.cpp \
src/services/standard/standardserviceentrypoint.cpp \
src/services/standard/standardserviceroot.cpp \
src/services/tt-rss/gui/formeditttrssaccount.cpp \
src/services/tt-rss/gui/formttrssfeeddetails.cpp \
src/services/tt-rss/network/ttrssnetworkfactory.cpp \
src/services/tt-rss/ttrssfeed.cpp \
src/services/tt-rss/ttrssserviceentrypoint.cpp \
src/services/tt-rss/ttrssserviceroot.cpp \
src/network-web/httpresponse.cpp \
src/services/gmail/gui/formdownloadattachment.cpp \
src/services/gmail/gui/formaddeditemail.cpp \
src/gui/searchtextwidget.cpp
mac {
OBJECTIVE_SOURCES += src/miscellaneous/disablewindowtabbing.mm
}
FORMS += src/gui/dialogs/formabout.ui \
src/gui/dialogs/formaddaccount.ui \
src/gui/dialogs/formbackupdatabasesettings.ui \
src/gui/dialogs/formdatabasecleanup.ui \
src/gui/dialogs/formmain.ui \
src/gui/dialogs/formrestoredatabasesettings.ui \
src/gui/dialogs/formsettings.ui \
src/gui/dialogs/formupdate.ui \
src/gui/settings/settingsbrowsermail.ui \
src/gui/settings/settingsdatabase.ui \
src/gui/settings/settingsdownloads.ui \
src/gui/settings/settingsfeedsmessages.ui \
src/gui/settings/settingsgeneral.ui \
src/gui/settings/settingsgui.ui \
src/gui/settings/settingslocalization.ui \
src/gui/settings/settingsshortcuts.ui \
src/gui/toolbareditor.ui \
src/network-web/downloaditem.ui \
src/network-web/downloadmanager.ui \
src/services/abstract/gui/formfeeddetails.ui \
src/services/gmail/gui/formeditgmailaccount.ui \
src/services/inoreader/gui/formeditinoreaderaccount.ui \
src/services/owncloud/gui/formeditowncloudaccount.ui \
src/services/standard/gui/formstandardcategorydetails.ui \
src/services/standard/gui/formstandardimportexport.ui \
src/services/tt-rss/gui/formeditttrssaccount.ui \
src/services/gmail/gui/formdownloadattachment.ui \
src/services/gmail/gui/formaddeditemail.ui \
src/gui/searchtextwidget.ui
equals(USE_WEBENGINE, true) {
HEADERS += src/gui/locationlineedit.h \
src/gui/webviewer.h \
src/gui/webbrowser.h \
src/gui/discoverfeedsbutton.h \
src/network-web/googlesuggest.h \
src/network-web/webpage.h \
src/network-web/rssguardschemehandler.h \
src/gui/dialogs/oauthlogin.h
SOURCES += src/gui/locationlineedit.cpp \
src/gui/webviewer.cpp \
src/gui/webbrowser.cpp \
src/gui/discoverfeedsbutton.cpp \
src/network-web/googlesuggest.cpp \
src/network-web/webpage.cpp \
src/network-web/rssguardschemehandler.cpp \
src/gui/dialogs/oauthlogin.cpp
# Add AdBlock sources.
HEADERS += src/network-web/adblock/adblockaddsubscriptiondialog.h \
src/network-web/adblock/adblockdialog.h \
src/network-web/adblock/adblockicon.h \
src/network-web/adblock/adblockmanager.h \
src/network-web/adblock/adblockmatcher.h \
src/network-web/adblock/adblockrule.h \
src/network-web/adblock/adblocksearchtree.h \
src/network-web/adblock/adblocksubscription.h \
src/network-web/adblock/adblocktreewidget.h \
src/network-web/adblock/adblockurlinterceptor.h \
src/network-web/urlinterceptor.h \
src/network-web/networkurlinterceptor.h \
src/gui/treewidget.h
SOURCES += src/network-web/adblock/adblockaddsubscriptiondialog.cpp \
src/network-web/adblock/adblockdialog.cpp \
src/network-web/adblock/adblockicon.cpp \
src/network-web/adblock/adblockmanager.cpp \
src/network-web/adblock/adblockmatcher.cpp \
src/network-web/adblock/adblockrule.cpp \
src/network-web/adblock/adblocksearchtree.cpp \
src/network-web/adblock/adblocksubscription.cpp \
src/network-web/adblock/adblocktreewidget.cpp \
src/network-web/adblock/adblockurlinterceptor.cpp \
src/network-web/networkurlinterceptor.cpp \
src/gui/treewidget.cpp
FORMS += src/network-web/adblock/adblockaddsubscriptiondialog.ui \
src/network-web/adblock/adblockdialog.ui \
src/gui/dialogs/oauthlogin.ui
}
else {
HEADERS += src/gui/messagepreviewer.h \
src/gui/messagetextbrowser.h \
src/gui/newspaperpreviewer.h \
src/network-web/oauthhttphandler.h
SOURCES += src/gui/messagepreviewer.cpp \
src/gui/messagetextbrowser.cpp \
src/gui/newspaperpreviewer.cpp \
src/network-web/oauthhttphandler.cpp
FORMS += src/gui/messagepreviewer.ui \
src/gui/newspaperpreviewer.ui
}
INCLUDEPATH += $$PWD/. \
$$PWD/src \
$$PWD/src/gui \
$$PWD/src/gui/dialogs \
$$PWD/src/dynamic-shortcuts
TRANSLATIONS_WO_QT += $$PWD/localization/rssguard_cs.ts \
$$PWD/localization/rssguard_da.ts \
$$PWD/localization/rssguard_de.ts \
$$PWD/localization/rssguard_en.ts \
$$PWD/localization/rssguard_es.ts \
$$PWD/localization/rssguard_fr.ts \
$$PWD/localization/rssguard_he.ts \
$$PWD/localization/rssguard_id.ts \
$$PWD/localization/rssguard_it.ts \
$$PWD/localization/rssguard_ja.ts \
$$PWD/localization/rssguard_lt.ts \
$$PWD/localization/rssguard_nl.ts \
$$PWD/localization/rssguard_pl.ts \
$$PWD/localization/rssguard_pt.ts \
$$PWD/localization/rssguard_sv.ts \
$$PWD/localization/rssguard_uk.ts \
$$PWD/localization/rssguard_zh.ts
TRANSLATIONS += $$TRANSLATIONS_WO_QT \
$$PWD/localization/qtbase_cs.ts \
$$PWD/localization/qtbase_da.ts \
$$PWD/localization/qtbase_de.ts \
$$PWD/localization/qtbase_es.ts \
$$PWD/localization/qtbase_fr.ts \
$$PWD/localization/qtbase_he.ts \
$$PWD/localization/qtbase_it.ts \
$$PWD/localization/qtbase_ja.ts \
$$PWD/localization/qtbase_lt.ts \
$$PWD/localization/qtbase_pl.ts \
$$PWD/localization/qtbase_pt.ts \
$$PWD/localization/qtbase_sv.ts \
$$PWD/localization/qtbase_uk.ts \
$$PWD/localization/qtbase_zh.ts
load(uic)
uic.commands -= -no-stringliteral
# Create new "make lupdate" target.
lupdate.target = lupdate
lupdate.commands = lupdate -no-obsolete -pro $$shell_quote($$shell_path($$PWD/rssguard.pro)) -ts $$TRANSLATIONS_WO_QT
QMAKE_EXTRA_TARGETS += lupdate
# Make sure QM translations are nerated.
qtPrepareTool(LRELEASE, lrelease) {
system($$LRELEASE -compress $$shell_quote($$shell_path($$PWD/rssguard.pro)))
}
# Create new "make 7zip" target and "make zip" target.
win32 {
seven_zip.target = 7zip
seven_zip.depends = install
seven_zip.commands = $$shell_path($$shell_quote($$PWD/resources/scripts/7za/7za.exe)) a -t7z $$TARGET-$$APP_VERSION-$$APP_REVISION-$${APP_WIN_ARCH}.7z $$shell_path($$PREFIX/*)
zip.target = zip
zip.depends = install
zip.commands = $$shell_path($$shell_quote($$PWD/resources/scripts/7za/7za.exe)) a -tzip $$TARGET-$$APP_VERSION-$$APP_REVISION-$${APP_WIN_ARCH}.zip $$shell_path($$PREFIX/*)
QMAKE_EXTRA_TARGETS += seven_zip zip
}
mac {
dmg.target = dmg
dmg.depends = install
dmg.commands = macdeployqt $$shell_quote($$shell_path($$PREFIX)) -dmg
QMAKE_EXTRA_TARGETS += dmg
}
# Create NSIS installer target on Windows.
win32 {
nsis.target = nsis
nsis.depends = install
nsis.commands = \
$$shell_path($$shell_quote($$PWD/resources/scripts/sed/sed.exe)) -e \"s|@APP_VERSION@|$$APP_VERSION|g; s|@APP_WIN_ARCH@|$$APP_WIN_ARCH|g; s|@APP_REVISION@|$$APP_REVISION|g; s|@APP_NAME@|$$APP_NAME|g; s|@APP_LOW_NAME@|$$APP_LOW_NAME|g; s|@EXE_NAME@|$${APP_LOW_NAME}.exe|g; s|@PWD@|$$replace(PWD, /, \\\\)|g; s|@OUT_PWD@|$$replace(OUT_PWD, /, \\\\)|g\" $$shell_path($$shell_quote($$PWD/resources/nsis/NSIS.definitions.nsh.in)) > $$shell_path($$shell_quote($$OUT_PWD/NSIS.definitions.nsh)) && \
xcopy /Y $$shell_path($$shell_quote($$PWD/resources/nsis/NSIS.template.in)) $$shell_path($$shell_quote($$OUT_PWD/)) && \
$$shell_path($$shell_quote($$PWD/resources/scripts/nsis/makensis.exe)) $$shell_path($$shell_quote($$OUT_PWD/NSIS.template.in))
QMAKE_EXTRA_TARGETS += nsis
}
win32 {
windows_all.target = windows_all
windows_all.depends = seven_zip nsis
windows_all.commands = echo "windows_all done..."
QMAKE_EXTRA_TARGETS += windows_all
}
# Install all files on Windows.
win32 {
target.path = $$PREFIX
qt_dlls_root.files = resources/binaries/windows/qt5-msvc2017/*.*
qt_dlls_root.path = $$quote($$PREFIX/)
qt_dlls_plugins.files = resources/binaries/windows/qt5-msvc2017/*
qt_dlls_plugins.path = $$quote($$PREFIX/)
INSTALLS += target qt_dlls_root qt_dlls_plugins
equals(USE_WEBENGINE, true) {
# Copy extra resource files for QtWebEngine.
qtwebengine_dlls.files = resources/binaries/windows/qt5-msvc2017-webengine/*
qtwebengine_dlls.path = $$quote($$PREFIX/)
qtwebengine.files = resources/binaries/windows/qt5-msvc2017-webengine/*.*
qtwebengine.path = $$quote($$PREFIX/)
INSTALLS += qtwebengine_dlls qtwebengine
}
}
# Install all files on Linux.
unix:!mac:!android {
target.path = $$PREFIX/bin
desktop_file.files = resources/desktop/$${APP_REVERSE_NAME}.desktop
desktop_file.path = $$quote($$PREFIX/share/applications/)
appdata.files = resources/desktop/$${APP_REVERSE_NAME}.appdata.xml
appdata.path = $$quote($$PREFIX/share/metainfo/)
desktop_icon.files = resources/graphics/$${TARGET}.png
desktop_icon.path = $$quote($$PREFIX/share/icons/hicolor/512x512/apps/)
INSTALLS += target desktop_file desktop_icon appdata
}
android {
target.path = $$PREFIX
INSTALLS += target
}
mac {
IDENTIFIER = org.$${TARGET}.RSSGuard
CONFIG -= app_bundle
ICON = resources/macosx/$${TARGET}.icns
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.8
LIBS += -framework AppKit
target.path = $$quote($$PREFIX/Contents/MacOS/)
# Install app icon.
icns_icon.files = resources/macosx/$${TARGET}.icns
icns_icon.path = $$quote($$PREFIX/Contents/Resources/)
# Install Info.plist.
info_plist.files = resources/macosx/Info.plist.in
info_plist.path = $$quote($$PREFIX/Contents/)
# Process the just installed Info.plist.
info_plist2.extra = @sed -e "s,@EXECUTABLE@,$$TARGET,g" -e "s,@SHORT_VERSION@,$$APP_VERSION,g" -e "s,@APP_NAME@,\"$$APP_NAME\",g" -e "s,@ICON@,$$basename(ICON),g" -e "s,@TYPEINFO@,"????",g" $$shell_quote($$PREFIX/Contents/Info.plist.in) > $$shell_quote($$PREFIX/Contents/Info.plist) && \
rm -f $$shell_quote($$PREFIX/Contents/Info.plist.in)
info_plist2.path = $$quote($$PREFIX/Contents/)
# Install PkgInfo
pkginfo.extra = @printf "APPL????" > $$shell_quote($$PREFIX/Contents/PkgInfo)
pkginfo.path = $$quote($$PREFIX/Contents/)
INSTALLS += target icns_icon info_plist info_plist2 pkginfo
}

View File

View File

View File

@ -13,7 +13,7 @@ class ServiceRoot;
class ServiceEntryPoint;
class StandardServiceRoot;
class FeedsModel : public QAbstractItemModel {
class RSSGUARD_DLLSPEC FeedsModel : public QAbstractItemModel {
Q_OBJECT
public:

View File

View File

0
src/core/message.h → src/librssguard/core/message.h Executable file → Normal file
View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

@ -7,7 +7,7 @@
#include "ui_formabout.h"
class FormAbout : public QDialog {
class RSSGUARD_DLLSPEC FormAbout : public QDialog {
Q_OBJECT
public:

View File

@ -38,6 +38,7 @@
#include <QFileDialog>
#include <QRect>
#include <QScopedPointer>
#include <QThread>
#include <QTimer>
#if defined (USE_WEBENGINE)
@ -47,9 +48,13 @@
FormMain::FormMain(QWidget* parent, Qt::WindowFlags f)
: QMainWindow(parent, f), m_ui(new Ui::FormMain) {
qDebug().nospace() << "Creating main application form in thread: \'" << QThread::currentThreadId() << "\'.";
m_ui->setupUi(this);
qApp->setMainForm(this);
setWindowTitle(APP_LONG_NAME);
#if defined (USE_WEBENGINE)
m_ui->m_menuWebBrowserTabs->addAction(AdBlockManager::instance()->adBlockIcon());
m_ui->m_menuWebBrowserTabs->addAction(qApp->web()->engineSettingsAction());

View File

@ -9,7 +9,7 @@
class StatusBar;
class FormMain : public QMainWindow {
class RSSGUARD_DLLSPEC FormMain : public QMainWindow {
Q_OBJECT
friend class TabWidget;
@ -19,7 +19,7 @@ class FormMain : public QMainWindow {
public:
// Constructors and destructors.
explicit FormMain(QWidget* parent = 0, Qt::WindowFlags f = 0);
explicit FormMain(QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowType::Widget);
virtual ~FormMain();
// Returns menu for the tray icon.

View File

@ -13,7 +13,7 @@
#include <QNetworkReply>
#include <QPushButton>
class FormUpdate : public QDialog {
class RSSGUARD_DLLSPEC FormUpdate : public QDialog {
Q_OBJECT
public:

View File

View File

View File

@ -25,7 +25,7 @@ class QToolBar;
class QSplitter;
class QProgressBar;
class FeedMessageViewer : public TabContent {
class RSSGUARD_DLLSPEC FeedMessageViewer : public TabContent {
Q_OBJECT
public:

View File

View File

View File

View File

@ -13,7 +13,7 @@ class FeedsProxyModel;
class Feed;
class Category;
class FeedsView : public QTreeView {
class RSSGUARD_DLLSPEC FeedsView : public QTreeView {
Q_OBJECT
public:

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

Some files were not shown because too many files have changed in this diff Show More