59b516a118
The 3rdparty files are now compiled as part of the corresponding input method, so that the project files can be written without using platform specific linker flags.
126 lines
3.3 KiB
Plaintext
126 lines
3.3 KiB
Plaintext
CONFIG += warn_on
|
|
CONFIG += no_keywords
|
|
CONFIG += silent
|
|
CONFIG -= depend_includepath
|
|
|
|
CONFIG += strict_c++
|
|
CONFIG += c++11
|
|
CONFIG += pedantic
|
|
|
|
# CONFIG += debug
|
|
# CONFIG += sanitize
|
|
|
|
MOC_DIR = moc
|
|
OBJECTS_DIR = obj
|
|
RCC_DIR = rcc
|
|
|
|
QSK_CONFIG += QskDll
|
|
|
|
*-g++* {
|
|
|
|
GCC_VERSION = $$system("$$QMAKE_CXX -dumpversion")
|
|
equals(GCC_VERSION,4) || contains(GCC_VERSION, 4.* ) {
|
|
|
|
# gcc4 is too old for certain checks
|
|
CONFIG -= pedantic sanitize
|
|
}
|
|
}
|
|
|
|
linux {
|
|
|
|
pedantic {
|
|
|
|
DEFINES += QT_STRICT_ITERATORS
|
|
|
|
# Qt headers do not stand pedantic checks, so it's better
|
|
# to exclude them by declaring them as system includes
|
|
|
|
QMAKE_CXXFLAGS += \
|
|
-isystem $$[QT_INSTALL_HEADERS] \
|
|
-isystem $$[QT_INSTALL_HEADERS]/QtCore \
|
|
-isystem $$[QT_INSTALL_HEADERS]/QtGui \
|
|
-isystem $$[QT_INSTALL_HEADERS]/QtGui/$$[QT_VERSION]/QtGui \
|
|
-isystem $$[QT_INSTALL_HEADERS]/QtQuick \
|
|
-isystem $$[QT_INSTALL_HEADERS]/QtQuick/$$[QT_VERSION]/QtQuick \
|
|
-isystem $$[QT_INSTALL_HEADERS]/QtQml \
|
|
-isystem $$[QT_INSTALL_HEADERS]/QtQml/$$[QT_VERSION]/QtQml \
|
|
}
|
|
}
|
|
|
|
linux-g++ | linux-g++-64 {
|
|
|
|
# --- optional optimzations
|
|
|
|
QMAKE_CXXFLAGS_DEBUG *= -O0
|
|
#QMAKE_CXXFLAGS_DEBUG *= -Og
|
|
|
|
QMAKE_CXXFLAGS_RELEASE *= -O3
|
|
QMAKE_CXXFLAGS_RELEASE *= -ffast-math
|
|
|
|
# QMAKE_CXXFLAGS_RELEASE *= -Ofast
|
|
# QMAKE_CXXFLAGS_RELEASE *= -Os
|
|
}
|
|
|
|
pedantic {
|
|
|
|
linux-g++ | linux-g++-64 {
|
|
|
|
QMAKE_CXXFLAGS *= -pedantic-errors
|
|
QMAKE_CXXFLAGS *= -Wextra
|
|
QMAKE_CXXFLAGS *= -Werror=format-security
|
|
QMAKE_CXXFLAGS *= -Wlogical-op
|
|
|
|
# QMAKE_CXXFLAGS *= -Wconversion
|
|
# QMAKE_CXXFLAGS *= -Wfloat-equal
|
|
# QMAKE_CXXFLAGS *= -Wshadow
|
|
|
|
QMAKE_CXXFLAGS *= -Wsuggest-override
|
|
# QMAKE_CXXFLAGS *= -Wsuggest-final-types
|
|
# QMAKE_CXXFLAGS *= -Wsuggest-final-methods
|
|
}
|
|
|
|
linux-clang {
|
|
|
|
#QMAKE_CXXFLAGS *= -pedantic-errors
|
|
|
|
#QMAKE_CXXFLAGS *= -Weverything
|
|
#QMAKE_CXXFLAGS *= -Wno-c++98-compat-pedantic
|
|
#QMAKE_CXXFLAGS *= -Wno-global-constructors
|
|
#QMAKE_CXXFLAGS *= -Wno-exit-time-destructors
|
|
#QMAKE_CXXFLAGS *= -Wno-padded
|
|
#QMAKE_CXXFLAGS *= -Wno-float-equal
|
|
#QMAKE_CXXFLAGS *= -Wno-undefined-reinterpret-cast
|
|
#QMAKE_CXXFLAGS *= -Wno-deprecated
|
|
#QMAKE_CXXFLAGS *= -Wno-switch-enum
|
|
#QMAKE_CXXFLAGS *= -Wno-keyword-macro
|
|
#QMAKE_CXXFLAGS *= -Wno-old-style-cast
|
|
#QMAKE_CXXFLAGS *= -Wno-used-but-marked-unused
|
|
#QMAKE_CXXFLAGS *= -Wno-weak-vtables
|
|
#QMAKE_CXXFLAGS *= -Wno-shadow
|
|
#QMAKE_CXXFLAGS *= -Wno-double-promotion
|
|
#QMAKE_CXXFLAGS *= -Wno-conversion
|
|
#QMAKE_CXXFLAGS *= -Wno-documentation-unknown-command
|
|
#QMAKE_CXXFLAGS *= -Wno-unused-macros
|
|
}
|
|
}
|
|
|
|
sanitize {
|
|
|
|
CONFIG += sanitizer
|
|
CONFIG += sanitize_address
|
|
#CONFIG *= sanitize_memory
|
|
CONFIG *= sanitize_undefined
|
|
|
|
linux-g++ | linux-g++-64 {
|
|
#QMAKE_CXXFLAGS *= -fsanitize-address-use-after-scope
|
|
#QMAKE_LFLAGS *= -fsanitize-address-use-after-scope
|
|
}
|
|
}
|
|
|
|
debug {
|
|
DEFINES += ITEM_STATISTICS=1
|
|
}
|
|
|
|
# Help out Qt Creator
|
|
ide: DEFINES += QT_IDE
|