QT += core gui svg greaterThan(QT_MAJOR_VERSION, 4): QT += widgets network multimedia multimediawidgets greaterThan(QT_MAJOR_VERSION, 5): QT += core5compat # The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES += QT_DEPRECATED_WARNINGS KRISTALL_VERSION = $$(KRISTALL_VERSION) isEmpty(KRISTALL_VERSION) { KRISTALL_VERSION = $(shell cd $$PWD; git describe --tags) } DEFINES += KRISTALL_VERSION="\"$$KRISTALL_VERSION\"" # You can also make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 !win32: LIBS += -lcrypto # We need iconv on non-linux platforms !linux: LIBS += -liconv # Initialize build flags from environment variables. QMAKE_CFLAGS *= $$(CFLAGS) QMAKE_CXXFLAGS *= $$(CXXFLAGS) QMAKE_LFLAGS *= $$(LDFLAGS) QMAKE_CFLAGS += -Wno-unused-parameter -Werror=return-type QMAKE_CXXFLAGS += -Wno-unused-parameter -Werror=return-type # qmake does not use QMAKE_CPPFLAGS, this is a hack to include it QMAKE_CXXFLAGS += $$(CPPFLAGS) QMAKE_CFLAGS += $$(CPPFLAGS) # Enable C++17 QMAKE_CXXFLAGS += -std=c++17 CONFIG += c++17 # avoid x86 OOM errors CONFIG += resources_big win32-msvc { # message("Use windows/msvc build") QMAKE_CFLAGS -= -Wno-unused-parameter QMAKE_CXXFLAGS -= -Wno-unused-parameter QMAKE_CFLAGS += /permissive- QMAKE_CXXFLAGS += /permissive- LIBS -= -lcrypto LIBS += "C:\Program Files\OpenSSL\lib\libcrypto.lib" INCLUDEPATH += "C:\Program Files\OpenSSL\include" } win32-g++ { # message("Use windows/mingw build") INCLUDEPATH += $$quote("C:\Qt\Tools\OpenSSL\Win_x64\include") LIBS += -L$$quote(C:\Qt\Tools\OpenSSL\Win_x64\lib) LIBS += -llibcrypto } macx { # Homebrew include paths contains(QMAKE_HOST.arch, arm.*):{ INCLUDEPATH += /opt/homebrew/opt/qt5/include LIBS += -L/opt/homebrew/opt/qt5/lib INCLUDEPATH += /opt/homebrew/opt/openssl/include LIBS += -L/opt/homebrew/opt/openssl/lib } else { INCLUDEPATH += /usr/local/opt/qt/include LIBS += -L/usr/local/opt/qt/lib INCLUDEPATH += /usr/local/opt/openssl/include LIBS += -L/usr/local/opt/openssl/lib } ICON = icons/AppIcon.icns } android: include(/home/felix/projects/android-hass/android-sdk/android_openssl/openssl.pri) # android { # INCLUDEPATH += /home/felix/projects/android-hass/android-sdk/android_openssl/static/include # LIBS += -L /home/felix/projects/android-hass/android-sdk/android_openssl/static/lib/arm/ # } external-cmark { CONFIG += link_pkgconfig PKGCONFIG += libcmark } else { include($$PWD/../lib/cmark/cmark.pri) } external-gumbo-parser { CONFIG += link_pkgconfig PKGCONFIG += gumbo } else { include($$PWD/../lib/gumbo-parser/gumbo-parser.pri) } INCLUDEPATH += $$PWD/../lib/luis-l-gist/ DEPENDPATH += $$PWD/../lib/luis-l-gist/ SOURCES += \ ../lib/luis-l-gist/interactiveview.cpp \ browsertab.cpp \ certificatehelper.cpp \ cryptoidentity.cpp \ dialogs/certificateiodialog.cpp \ dialogs/certificatemanagementdialog.cpp \ dialogs/certificateselectiondialog.cpp \ dialogs/newidentitiydialog.cpp \ dialogs/settingsdialog.cpp \ documentoutlinemodel.cpp \ documentstyle.cpp \ favouritecollection.cpp \ identitycollection.cpp \ ioutil.cpp \ localization.cpp \ main.cpp \ mainwindow.cpp \ renderers/htmlrenderer.cpp \ renderers/markdownrenderer.cpp \ renderers/renderhelpers.cpp \ renderers/textstyleinstance.cpp \ widgets/browsertabbar.cpp \ widgets/browsertabwidget.cpp \ widgets/kristalltextbrowser.cpp \ widgets/mediaplayer.cpp \ mimeparser.cpp \ protocolhandler.cpp \ protocols/abouthandler.cpp \ protocols/filehandler.cpp \ protocols/fingerclient.cpp \ protocols/geminiclient.cpp \ protocols/gopherclient.cpp \ protocols/guppyclient.cpp \ protocols/webclient.cpp \ protocolsetup.cpp \ renderers/geminirenderer.cpp \ renderers/gophermaprenderer.cpp \ renderers/plaintextrenderer.cpp \ ssltrust.cpp \ tabbrowsinghistory.cpp \ trustedhost.cpp \ trustedhostcollection.cpp \ widgets/elidelabel.cpp \ widgets/searchbar.cpp \ widgets/ssltrusteditor.cpp \ widgets/favouritepopup.cpp \ widgets/favouritebutton.cpp \ cachehandler.cpp \ widgets/searchbox.cpp \ widgets/querydialog.cpp HEADERS += \ ../lib/luis-l-gist/interactiveview.hpp \ browsertab.hpp \ certificatehelper.hpp \ cryptoidentity.hpp \ dialogs/certificateiodialog.hpp \ dialogs/certificatemanagementdialog.hpp \ dialogs/certificateselectiondialog.hpp \ dialogs/newidentitiydialog.hpp \ dialogs/settingsdialog.hpp \ documentoutlinemodel.hpp \ documentstyle.hpp \ favouritecollection.hpp \ identitycollection.hpp \ ioutil.hpp \ kristall.hpp \ localization.hpp \ mainwindow.hpp \ renderers/htmlrenderer.hpp \ renderers/markdownrenderer.hpp \ renderers/textstyleinstance.hpp \ widgets/browsertabbar.hpp \ widgets/browsertabwidget.hpp \ widgets/kristalltextbrowser.hpp \ widgets/mediaplayer.hpp \ mimeparser.hpp \ protocolhandler.hpp \ protocols/abouthandler.hpp \ protocols/filehandler.hpp \ protocols/fingerclient.hpp \ protocols/geminiclient.hpp \ protocols/gopherclient.hpp \ protocols/guppyclient.hpp \ protocols/webclient.hpp \ protocolsetup.hpp \ renderers/geminirenderer.hpp \ renderers/gophermaprenderer.hpp \ renderers/plaintextrenderer.hpp \ ssltrust.hpp \ tabbrowsinghistory.hpp \ trustedhost.hpp \ trustedhostcollection.hpp \ widgets/elidelabel.hpp \ widgets/searchbar.hpp \ widgets/ssltrusteditor.hpp \ widgets/favouritepopup.hpp \ widgets/favouritebutton.hpp \ widgets/querydialog.hpp \ cachehandler.hpp \ widgets/searchbox.hpp FORMS += \ browsertab.ui \ dialogs/certificateiodialog.ui \ dialogs/certificatemanagementdialog.ui \ dialogs/certificateselectiondialog.ui \ dialogs/newidentitiydialog.ui \ dialogs/settingsdialog.ui \ mainwindow.ui \ widgets/mediaplayer.ui \ widgets/ssltrusteditor.ui \ widgets/querydialog.ui CONFIG += lrelease embed_translations TRANSLATIONS += \ ../translations/kristall_en_US.ts \ ../translations/kristall_ru.ts # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target RESOURCES += \ ./fonts.qrc \ ../lib/BreezeStyleSheets/breeze.qrc \ builtins.qrc \ icons.qrc # Embed icon resource on Windows platforms win32:RC_ICONS += ./icons/kristall.ico DISTFILES += \ gophertypes.txt