Files
chatterino2/chatterino.pro
2018-06-26 13:31:40 +02:00

457 lines
16 KiB
Prolog

#-------------------------------------------------
#
# Project created by QtCreator 2016-12-28T18:23:35
#
#-------------------------------------------------
message(----)
QT += widgets core gui network multimedia svg
CONFIG += communi
COMMUNI += core model util
CONFIG += c++14
INCLUDEPATH += src/
TARGET = chatterino
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
PRECOMPILED_HEADER = src/PrecompiledHeader.hpp
CONFIG += precompile_header
# https://bugreports.qt.io/browse/QTBUG-27018
equals(QMAKE_CXX, "clang++")|equals(QMAKE_CXX, "g++") {
TARGET = bin/chatterino
}
# Icons
macx:ICON = resources/images/chatterino2.icns
win32:RC_FILE = resources/windows.rc
macx {
LIBS += -L/usr/local/lib
}
# Submodules
include(dependencies/rapidjson.pri)
include(dependencies/settings.pri)
include(dependencies/signals.pri)
include(dependencies/humanize.pri)
include(dependencies/fmt.pri)
DEFINES += IRC_NAMESPACE=Communi
include(dependencies/libcommuni.pri)
include(dependencies/websocketpp.pri)
include(dependencies/openssl.pri)
include(dependencies/boost.pri)
# Optional feature: QtWebEngine
#exists ($(QTDIR)/include/QtWebEngine/QtWebEngine) {
# message(Using QWebEngine)
# QT += webenginewidgets
# DEFINES += "USEWEBENGINE"
#}
linux {
LIBS += -lrt
}
win32 {
LIBS += -luser32
}
# OSX include directory
macx {
INCLUDEPATH += /usr/local/include
}
# Optional dependency on Windows SDK 7
!contains(QMAKE_TARGET.arch, x86_64) {
win32:exists(C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\Windows.h) {
LIBS += -L"C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib" \
-ldwmapi
DEFINES += "USEWINSDK"
message(Using Windows SDK 7)
}
}
# Optional dependency on Windows SDK 10
contains(QMAKE_TARGET.arch, x86_64) {
WIN_SDK_VERSION = $$(WindowsSDKVersion)
!isEmpty(WIN_SDK_VERSION) {
!equals(WIN_SDK_VERSION, "\\") {
DEFINES += "USEWINSDK"
message(Using Windows SDK 10)
}
}
}
werr {
QMAKE_CXXFLAGS += -Werror
message("Enabling error on warning")
}
# src
SOURCES += \
src/Application.cpp
src/Channel.cpp
src/ChannelData.cpp
src/Common.h.cpp
src/controllers/accounts/Account.cpp
src/controllers/accounts/AccountController.cpp
src/controllers/accounts/AccountModel.cpp
src/controllers/commands/Command.cpp
src/controllers/commands/CommandController.cpp
src/controllers/commands/CommandModel.cpp
src/controllers/highlights/HighlightController.cpp
src/controllers/highlights/HighlightModel.cpp
src/controllers/ignores/IgnoreController.cpp
src/controllers/ignores/IgnoreModel.cpp
src/controllers/taggedusers/TaggedUser.cpp
src/controllers/taggedusers/TaggedUsersController.cpp
src/controllers/taggedusers/TaggedUsersModel.cpp
src/main.cpp
src/messages/Image.cpp
src/messages/layouts/MessageLayout.cpp
src/messages/layouts/MessageLayoutContainer.cpp
src/messages/layouts/MessageLayoutElement.cpp
src/messages/Link.cpp
src/messages/Message.cpp
src/messages/MessageBuilder.cpp
src/messages/MessageColor.cpp
src/messages/MessageElement.cpp
src/providers/bttv/BttvEmotes.cpp
src/providers/emoji/Emojis.cpp
src/providers/ffz/FfzEmotes.cpp
src/providers/irc/AbstractIrcServer.cpp
src/providers/irc/IrcAccount.cpp
src/providers/irc/IrcChannel2.cpp
src/providers/irc/IrcConnection2.cpp
src/providers/irc/IrcServer.cpp
src/providers/twitch/IrcMessageHandler.cpp
src/providers/twitch/Pubsub.cpp
src/providers/twitch/PubsubActions.cpp
src/providers/twitch/PubsubHelpers.cpp
src/providers/twitch/TwitchAccount.cpp
src/providers/twitch/TwitchAccountManager.cpp
src/providers/twitch/TwitchChannel.cpp
src/providers/twitch/TwitchEmotes.cpp
src/providers/twitch/TwitchHelpers.cpp
src/providers/twitch/TwitchMessageBuilder.cpp
src/providers/twitch/TwitchServer.cpp
src/providers/twitch/TwitchUser.cpp
src/singletons/EmoteManager.cpp
src/singletons/FontManager.cpp
src/singletons/helper/ChatterinoSetting.cpp
src/singletons/helper/GifTimer.cpp
src/singletons/helper/LoggingChannel.cpp
src/singletons/helper/ModerationAction.cpp
src/singletons/IrcManager.cpp
src/singletons/LoggingManager.cpp
src/singletons/NativeMessagingManager.cpp
src/singletons/PathManager.cpp
src/singletons/ResourceManager.cpp
src/singletons/SettingsManager.cpp
src/singletons/ThemeManager.cpp
src/singletons/UpdateManager.cpp
src/singletons/WindowManager.cpp
src/util/CompletionModel.cpp
src/util/DebugCount.cpp
src/util/Emotemap.cpp
src/util/NetworkManager.cpp
src/util/NetworkRequest.cpp
src/util/RapidjsonHelpers.cpp
src/util/StreamLink.cpp
src/util/WindowsHelper.cpp
src/widgets/AccountSwitchPopupWidget.cpp
src/widgets/AccountSwitchWidget.cpp
src/widgets/AttachedWindow.cpp
src/widgets/BaseWidget.cpp
src/widgets/BaseWindow.cpp
src/widgets/EmotePopup.cpp
src/widgets/helper/ChannelView.cpp
src/widgets/helper/ComboBoxItemDelegate.cpp
src/widgets/helper/DebugPopup.cpp
src/widgets/helper/DropOverlay.cpp
src/widgets/helper/DropPreview.cpp
src/widgets/helper/EditableModelView.cpp
src/widgets/helper/NotebookButton.cpp
src/widgets/helper/NotebookTab.cpp
src/widgets/helper/ResizingTextEdit.cpp
src/widgets/helper/RippleEffectButton.cpp
src/widgets/helper/RippleEffectLabel.cpp
src/widgets/helper/ScrollbarHighlight.cpp
src/widgets/helper/SearchPopup.cpp
src/widgets/helper/SettingsDialogTab.cpp
src/widgets/helper/SignalLabel.cpp
src/widgets/helper/SplitColumn.cpp
src/widgets/helper/SplitHeader.cpp
src/widgets/helper/SplitInput.cpp
src/widgets/helper/SplitNode.cpp
src/widgets/helper/SplitOverlay.cpp
src/widgets/helper/TitlebarButton.cpp
src/widgets/Label.cpp
src/widgets/LastRunCrashDialog.cpp
src/widgets/LoginDialog.cpp
src/widgets/Notebook.cpp
src/widgets/NotificationPopup.cpp
src/widgets/QualityPopup.cpp
src/widgets/Scrollbar.cpp
src/widgets/SelectChannelDialog.cpp
src/widgets/SettingsDialog.cpp
src/widgets/settingspages/AboutPage.cpp
src/widgets/settingspages/AccountsPage.cpp
src/widgets/settingspages/AppearancePage.cpp
src/widgets/settingspages/BehaviourPage.cpp
src/widgets/settingspages/BrowserextensionPage.cpp
src/widgets/settingspages/CommandPage.cpp
src/widgets/settingspages/EmotesPage.cpp
src/widgets/settingspages/ExternaltoolsPage.cpp
src/widgets/settingspages/HighlightingPage.cpp
src/widgets/settingspages/IgnoreusersPage.cpp
src/widgets/settingspages/KeyboardsettingsPage.cpp
src/widgets/settingspages/LogsPage.cpp
src/widgets/settingspages/ModerationPage.cpp
src/widgets/settingspages/SettingsPage.cpp
src/widgets/settingspages/SpecialChannelsPage.cpp
src/widgets/Split.cpp
src/widgets/SplitContainer.cpp
src/widgets/StreamView.cpp
src/widgets/TextInputDialog.cpp
src/widgets/TooltipWidget.cpp
src/widgets/UserInfoPopup.cpp
src/widgets/WelcomeDialog.cpp
src/widgets/Window.cpp
HEADERS += \
src/Application.hpp
src/Channel.hpp
src/ChannelData.hpp
src/Common.hpp
src/Const.hpp
src/controllers/accounts/Account.hpp
src/controllers/accounts/AccountController.hpp
src/controllers/accounts/AccountModel.hpp
src/controllers/commands/Command.hpp
src/controllers/commands/CommandController.hpp
src/controllers/commands/CommandModel.hpp
src/controllers/highlights/HighlightController.hpp
src/controllers/highlights/HighlightModel.hpp
src/controllers/highlights/HighlightPhrase.hpp
src/controllers/ignores/IgnoreController.hpp
src/controllers/ignores/IgnoreModel.hpp
src/controllers/ignores/IgnorePhrase.hpp
src/controllers/taggedusers/TaggedUser.hpp
src/controllers/taggedusers/TaggedUsersController.hpp
src/controllers/taggedusers/TaggedUsersModel.hpp
src/Credentials.hpp
src/debug/Log.hpp
src/LockedObject.hpp
src/messages/HighlightPhrase.hpp
src/messages/Image.hpp
src/messages/layouts/MessageLayout.hpp
src/messages/layouts/MessageLayoutContainer.hpp
src/messages/layouts/MessageLayoutElement.hpp
src/messages/LimitedQueue.hpp
src/messages/LimitedQueueSnapshot.hpp
src/messages/Link.hpp
src/messages/Message.hpp
src/messages/MessageBuilder.hpp
src/messages/MessageColor.hpp
src/messages/MessageElement.hpp
src/messages/MessageParseArgs.hpp
src/messages/Selection.hpp
src/NullablePtr.hpp
src/PrecompiledHeader.hpp
src/ProviderId.hpp
src/providers/bttv/BttvEmotes.hpp
src/providers/emoji/Emojis.hpp
src/providers/ffz/FfzEmotes.hpp
src/providers/irc/AbstractIrcServer.hpp
src/providers/irc/IrcAccount.hpp
src/providers/irc/IrcChannel2.hpp
src/providers/irc/IrcConnection2.hpp
src/providers/irc/IrcServer.hpp
src/providers/twitch/EmoteValue.hpp
src/providers/twitch/IrcMessageHandler.hpp
src/providers/twitch/Pubsub.hpp
src/providers/twitch/PubsubActions.hpp
src/providers/twitch/PubsubHelpers.hpp
src/providers/twitch/TwitchAccount.hpp
src/providers/twitch/TwitchAccountManager.hpp
src/providers/twitch/TwitchChannel.hpp
src/providers/twitch/TwitchEmotes.hpp
src/providers/twitch/TwitchHelpers.hpp
src/providers/twitch/TwitchMessageBuilder.hpp
src/providers/twitch/TwitchServer.hpp
src/providers/twitch/TwitchUser.hpp
src/SignalVector.hpp
src/singletons/EmoteManager.hpp
src/singletons/FontManager.hpp
src/singletons/helper/ChatterinoSetting.hpp
src/singletons/helper/GifTimer.hpp
src/singletons/helper/LoggingChannel.hpp
src/singletons/helper/ModerationAction.hpp
src/singletons/IrcManager.hpp
src/singletons/LoggingManager.hpp
src/singletons/NativeMessagingManager.hpp
src/singletons/PathManager.hpp
src/singletons/ResourceManager.hpp
src/singletons/SettingsManager.hpp
src/singletons/ThemeManager.hpp
src/singletons/UpdateManager.hpp
src/singletons/WindowManager.hpp
src/util/AssertInGuiThread.hpp
src/util/Benchmark.hpp
src/util/Clamp.hpp
src/util/CombinePath.hpp
src/util/CompletionModel.hpp
src/util/ConcurrentMap.hpp
src/util/DebugCount.hpp
src/util/DistanceBetweenPoints.hpp
src/util/Emotemap.hpp
src/util/FlagsEnum.hpp
src/util/Helpers.hpp
src/util/IrcHelpers.hpp
src/util/LayoutCreator.hpp
src/util/MutexValue.hpp
src/util/NativeEventHelper.hpp
src/util/NetworkManager.hpp
src/util/NetworkRequest.hpp
src/util/NetworkRequester.hpp
src/util/NetworkWorker.hpp
src/util/PostToThread.hpp
src/util/Property.hpp
src/util/QstringHash.hpp
src/util/RapidjsonHelpers.hpp
src/util/RemoveScrollAreaBackground.hpp
src/util/SerializeCustom.hpp
src/util/SharedPtrElementLess.hpp
src/util/SignalVector2.hpp
src/util/SignalVectorModel.hpp
src/util/StandardItemHelper.hpp
src/util/StreamLink.hpp
src/util/UrlFetch.hpp
src/util/WindowsHelper.hpp
src/Version.hpp
src/widgets/AccountSwitchPopupWidget.hpp
src/widgets/AccountSwitchWidget.hpp
src/widgets/AttachedWindow.hpp
src/widgets/BaseWidget.hpp
src/widgets/BaseWindow.hpp
src/widgets/EmotePopup.hpp
src/widgets/helper/ChannelView.hpp
src/widgets/helper/ComboBoxItemDelegate.hpp
src/widgets/helper/DebugPopup.hpp
src/widgets/helper/DropOverlay.hpp
src/widgets/helper/DropPreview.hpp
src/widgets/helper/EditableModelView.hpp
src/widgets/helper/Line.hpp
src/widgets/helper/NotebookButton.hpp
src/widgets/helper/NotebookTab.hpp
src/widgets/helper/ResizingTextEdit.hpp
src/widgets/helper/RippleEffectButton.hpp
src/widgets/helper/RippleEffectLabel.hpp
src/widgets/helper/ScrollbarHighlight.hpp
src/widgets/helper/SearchPopup.hpp
src/widgets/helper/SettingsDialogTab.hpp
src/widgets/helper/Shortcut.hpp
src/widgets/helper/SignalLabel.hpp
src/widgets/helper/SplitColumn.hpp
src/widgets/helper/SplitHeader.hpp
src/widgets/helper/SplitInput.hpp
src/widgets/helper/SplitNode.hpp
src/widgets/helper/SplitOverlay.hpp
src/widgets/helper/TitlebarButton.hpp
src/widgets/Label.hpp
src/widgets/LastRunCrashDialog.hpp
src/widgets/LoginDialog.hpp
src/widgets/Notebook.hpp
src/widgets/NotificationPopup.hpp
src/widgets/QualityPopup.hpp
src/widgets/Scrollbar.hpp
src/widgets/SelectChannelDialog.hpp
src/widgets/SettingsDialog.hpp
src/widgets/settingspages/AboutPage.hpp
src/widgets/settingspages/AccountsPage.hpp
src/widgets/settingspages/AppearancePage.hpp
src/widgets/settingspages/BehaviourPage.hpp
src/widgets/settingspages/BrowserextensionPage.hpp
src/widgets/settingspages/CommandPage.hpp
src/widgets/settingspages/EmotesPage.hpp
src/widgets/settingspages/ExternaltoolsPage.hpp
src/widgets/settingspages/HighlightingPage.hpp
src/widgets/settingspages/IgnoreusersPage.hpp
src/widgets/settingspages/KeyboardsettingsPage.hpp
src/widgets/settingspages/LogsPage.hpp
src/widgets/settingspages/ModerationPage.hpp
src/widgets/settingspages/SettingsPage.hpp
src/widgets/settingspages/SpecialChannelsPage.hpp
src/widgets/Split.hpp
src/widgets/SplitContainer.hpp
src/widgets/StreamView.hpp
src/widgets/TextInputDialog.hpp
src/widgets/Titlebar.hpp
src/widgets/TooltipWidget.hpp
src/widgets/UserInfoPopup.hpp
src/widgets/WelcomeDialog.hpp
src/widgets/Window.hpp
RESOURCES += \
resources/resources.qrc
DISTFILES +=
FORMS +=
# Define warning flags for Chatterino
win32-msvc* {
QMAKE_CXXFLAGS_WARN_ON = /W4
# 4714 - function marked as __forceinline not inlined
# 4996 - occurs when the compiler encounters a function or variable that is marked as deprecated.
# These functions may have a different preferred name, may be insecure or have
# a more secure variant, or may be obsolete.
# 4505 - unreferenced local version has been removed
# 4127 - conditional expression is constant
# 4503 - decorated name length exceeded, name was truncated
# 4100 - unreferences formal parameter
# 4305 - possible truncation of data
# 4267 - possible loss of data in return
QMAKE_CXXFLAGS_WARN_ON += /wd4714
QMAKE_CXXFLAGS_WARN_ON += /wd4996
QMAKE_CXXFLAGS_WARN_ON += /wd4505
QMAKE_CXXFLAGS_WARN_ON += /wd4127
QMAKE_CXXFLAGS_WARN_ON += /wd4503
QMAKE_CXXFLAGS_WARN_ON += /wd4100
QMAKE_CXXFLAGS_WARN_ON += /wd4305
QMAKE_CXXFLAGS_WARN_ON += /wd4267
} else {
QMAKE_CXXFLAGS_WARN_ON = -Wall
QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-function
QMAKE_CXXFLAGS_WARN_ON += -Wno-switch
QMAKE_CXXFLAGS_WARN_ON += -Wno-deprecated-declarations
QMAKE_CXXFLAGS_WARN_ON += -Wno-sign-compare
QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-variable
# Disabling strict-aliasing warnings for now, although we probably want to re-enable this in the future
QMAKE_CXXFLAGS_WARN_ON += -Wno-strict-aliasing
equals(QMAKE_CXX, "clang++") {
QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-local-typedef
} else {
QMAKE_CXXFLAGS_WARN_ON += -Wno-class-memaccess
}
}
# do not use windows min/max macros
#win32 {
# DEFINES += NOMINMAX
#}
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
linux {
QMAKE_LFLAGS += -lrt
}