2016-07-20 14:40:33 +02:00
|
|
|
|
#Turn on compilers warnings.
|
2016-07-29 20:04:53 +02:00
|
|
|
|
unix {
|
2017-07-05 10:35:32 +02:00
|
|
|
|
*g++*{
|
2016-07-29 20:04:53 +02:00
|
|
|
|
QMAKE_CXXFLAGS += \
|
|
|
|
|
# Key -isystem disable checking errors in system headers.
|
|
|
|
|
-isystem "$${OUT_PWD}/$${UI_DIR}" \
|
|
|
|
|
-isystem "$${OUT_PWD}/$${MOC_DIR}" \
|
|
|
|
|
-isystem "$${OUT_PWD}/$${RCC_DIR}" \
|
|
|
|
|
$$GCC_DEBUG_CXXFLAGS # See common.pri for more details.
|
|
|
|
|
|
|
|
|
|
checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings
|
|
|
|
|
QMAKE_CXXFLAGS += -Werror
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
noAddressSanitizer{ # For enable run qmake with CONFIG+=noAddressSanitizer
|
|
|
|
|
# do nothing
|
|
|
|
|
} else {
|
2016-08-06 18:23:42 +02:00
|
|
|
|
CONFIG(debug, debug|release){
|
|
|
|
|
# Debug mode
|
|
|
|
|
#gcc’s 4.8.0 Address Sanitizer
|
|
|
|
|
#http://blog.qt.digia.com/blog/2013/04/17/using-gccs-4-8-0-address-sanitizer-with-qt/
|
|
|
|
|
QMAKE_CXXFLAGS += -fsanitize=address -fno-omit-frame-pointer
|
|
|
|
|
QMAKE_CFLAGS += -fsanitize=address -fno-omit-frame-pointer
|
|
|
|
|
QMAKE_LFLAGS += -fsanitize=address
|
|
|
|
|
}
|
2016-07-29 20:04:53 +02:00
|
|
|
|
}
|
2017-06-01 09:14:17 +02:00
|
|
|
|
|
|
|
|
|
gccUbsan{ # For enable run qmake with CONFIG+=gccUbsan
|
|
|
|
|
CONFIG(debug, debug|release){
|
|
|
|
|
# Debug mode
|
|
|
|
|
#gcc’s 4.9.0 Undefined Behavior Sanitizer (ubsan)
|
|
|
|
|
QMAKE_CXXFLAGS += -fsanitize=undefined
|
|
|
|
|
QMAKE_CFLAGS += -fsanitize=undefined
|
|
|
|
|
QMAKE_LFLAGS += -fsanitize=undefined
|
|
|
|
|
}
|
|
|
|
|
}
|
2016-07-20 14:40:33 +02:00
|
|
|
|
}
|
|
|
|
|
|
2017-07-05 10:35:32 +02:00
|
|
|
|
*clang*{
|
2016-07-29 20:04:53 +02:00
|
|
|
|
QMAKE_CXXFLAGS += \
|
|
|
|
|
# Key -isystem disable checking errors in system headers.
|
|
|
|
|
-isystem "$${OUT_PWD}/$${UI_DIR}" \
|
|
|
|
|
-isystem "$${OUT_PWD}/$${MOC_DIR}" \
|
|
|
|
|
-isystem "$${OUT_PWD}/$${RCC_DIR}" \
|
|
|
|
|
$$CLANG_DEBUG_CXXFLAGS # See common.pri for more details.
|
|
|
|
|
|
|
|
|
|
checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings
|
|
|
|
|
QMAKE_CXXFLAGS += -Werror
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# -isystem key works only for headers. In some cases it's not enough. But we can't delete this warnings and
|
|
|
|
|
# want them in global list. Compromise decision delete them from local list.
|
|
|
|
|
QMAKE_CXXFLAGS -= \
|
|
|
|
|
-Wundefined-reinterpret-cast \
|
|
|
|
|
-Wmissing-prototypes # rcc folder
|
2016-07-20 14:40:33 +02:00
|
|
|
|
}
|
|
|
|
|
|
2016-07-29 20:04:53 +02:00
|
|
|
|
*-icc-*{
|
|
|
|
|
QMAKE_CXXFLAGS += \
|
|
|
|
|
-isystem "$${OUT_PWD}/$${UI_DIR}" \
|
|
|
|
|
-isystem "$${OUT_PWD}/$${MOC_DIR}" \
|
|
|
|
|
-isystem "$${OUT_PWD}/$${RCC_DIR}" \
|
|
|
|
|
$$ICC_DEBUG_CXXFLAGS
|
2016-07-20 14:40:33 +02:00
|
|
|
|
|
2016-07-29 20:04:53 +02:00
|
|
|
|
checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings
|
|
|
|
|
QMAKE_CXXFLAGS += -Werror
|
|
|
|
|
}
|
2016-07-20 14:40:33 +02:00
|
|
|
|
}
|
2016-07-29 20:04:53 +02:00
|
|
|
|
} else { # Windows
|
2017-07-05 10:35:32 +02:00
|
|
|
|
*g++*{
|
2016-07-29 20:04:53 +02:00
|
|
|
|
QMAKE_CXXFLAGS += $$GCC_DEBUG_CXXFLAGS # See common.pri for more details.
|
2016-07-20 14:40:33 +02:00
|
|
|
|
|
2016-07-29 20:04:53 +02:00
|
|
|
|
checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings
|
|
|
|
|
QMAKE_CXXFLAGS += -Werror
|
|
|
|
|
}
|
|
|
|
|
}
|
2016-07-20 14:40:33 +02:00
|
|
|
|
|
2017-07-05 10:35:32 +02:00
|
|
|
|
*msvc*{
|
2016-07-29 20:04:53 +02:00
|
|
|
|
QMAKE_CXXFLAGS += $$MSVC_DEBUG_CXXFLAGS # See common.pri for more details.
|
2016-07-20 14:40:33 +02:00
|
|
|
|
|
2016-07-29 20:04:53 +02:00
|
|
|
|
checkWarnings{ # For enable run qmake with CONFIG+=checkWarnings
|
2016-08-06 14:59:30 +02:00
|
|
|
|
QMAKE_CXXFLAGS += -WX
|
2016-07-29 20:04:53 +02:00
|
|
|
|
}
|
2016-07-20 14:40:33 +02:00
|
|
|
|
}
|
|
|
|
|
}
|