Files
qBittorrent/src/src.pro
Luís Pereira ea1b0b26b1 Don't implicitly cast iterator to const_iterator
It prevents detachments:
To illustrate:

QMap<QString, QString> map;
/* code compiles and works fine but find() returns the non-const
   QMap::iterator that detaches!
*/
QMap<QString, QString>::const_iterator it = map.find("girish");

but also some subtle bugs:

QHash<int, int> wrong;
if (wrong.find(1) == wrong.cend()) {
    qDebug() << "Not found";
} else {
    /* find() detached the container before cend() was called, so it
       prints "Found"
    */
    qDebug() << "Found";
}

QHash<int, int> right;
if (right.constFind(1) == right.cend()) {
    qDebug() << "Not found"; // This is correct now !
} else {
    qDebug() << "Found";
}

Enforced by QT_STRICT_ITERATORS definition.
2018-02-17 17:02:52 +00:00

80 lines
1.6 KiB
Prolog

# Global
TEMPLATE = app
CONFIG += qt thread silent
# C++11 support
CONFIG += c++11
DEFINES += BOOST_NO_CXX11_RVALUE_REFERENCES
# Platform specific configuration
win32: include(../winconf.pri)
macx: include(../macxconf.pri)
unix:!macx: include(../unixconf.pri)
QT += network xml
nogui {
TARGET = qbittorrent-nox
QT -= gui
DEFINES += DISABLE_GUI
} else {
TARGET = qbittorrent
QT += xml svg widgets
CONFIG(static) {
DEFINES += QBT_STATIC_QT
QTPLUGIN += qico
}
win32 {
QT += winextras
}
macx {
QT += macextras
LIBS += -lobjc
}
}
nowebui {
DEFINES += DISABLE_WEBUI
}
strace_win {
DEFINES += STACKTRACE_WIN
DEFINES += STACKTRACE_WIN_PROJECT_PATH=$$PWD
DEFINES += STACKTRACE_WIN_MAKEFILE_PATH=$$OUT_PWD
}
CONFIG(debug, debug|release): message(Project is built in DEBUG mode.)
CONFIG(release, debug|release): message(Project is built in RELEASE mode.)
# Disable debug output in release mode
CONFIG(release, debug|release) {
message(Disabling debug output.)
DEFINES += QT_NO_DEBUG_OUTPUT
}
# VERSION DEFINES
include(../version.pri)
DEFINES += QT_NO_CAST_TO_ASCII
# Efficient construction for QString & QByteArray (Qt >= 4.8)
DEFINES += QT_USE_QSTRINGBUILDER
DEFINES += QT_STRICT_ITERATORS
INCLUDEPATH += $$PWD
include(app/app.pri)
include(base/base.pri)
!nogui: include(gui/gui.pri)
!nowebui: include(webui/webui.pri)
# Resource files
QMAKE_RESOURCE_FLAGS += -compress 9 -threshold 5
RESOURCES += \
icons.qrc \
lang.qrc \
searchengine.qrc
# Translations
TRANSLATIONS += $$files(lang/qbittorrent_*.ts)
DESTDIR = .