aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared
diff options
context:
space:
mode:
authorIvan Donchevskii <ivan.donchevskii@qt.io>2018-11-12 09:53:44 +0100
committerIvan Donchevskii <ivan.donchevskii@qt.io>2018-11-29 09:27:33 +0000
commit9eb66a806f098b84c22654da5aeb62a9db8e8c59 (patch)
tree3964adc7bf90c6af93405483e8a8d17d7acf62e6 /src/shared
parentab4f6ad9ce9f7f83857d8b09326ea57d1b521703 (diff)
Clang: Properly set up warnings for clang-based libraries
Add warning flags to QMAKE_CXXFLAGS_WARN_ON to have them after default warnings. Change-Id: Ic94fe36175d3198191251d5b475f8f8ed000bef7 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io> Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/clang/clang_installation.pri14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri
index d4307d40994..5ea21874fbb 100644
--- a/src/shared/clang/clang_installation.pri
+++ b/src/shared/clang/clang_installation.pri
@@ -111,6 +111,17 @@ defineReplace(splitFlags) {
return($$result)
}
+defineReplace(extractWarnings) {
+ flags = $$1
+ result =
+ for (flag, flags) {
+ contains(flag, ^[-/][wW].*$) {
+ result += $$flag
+ }
+ }
+ return($$result)
+}
+
CLANGTOOLING_LIBS=-lclangTooling -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
-lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
-lclangASTMatchers -lclangToolingCore -lclangAST -lclangLex -lclangBasic
@@ -241,6 +252,9 @@ isEmpty(LLVM_VERSION) {
LLVM_CXXFLAGS = $$splitFlags($$LLVM_CXXFLAGS)
+ LLVM_CXXFLAGS_WARNINGS = $$extractWarnings($$LLVM_CXXFLAGS)
+ LLVM_CXXFLAGS -= $$LLVM_CXXFLAGS_WARNINGS
+
LLVM_IS_COMPILED_WITH_RTTI = $$system($$llvm_config --has-rtti, lines)
unix:!disable_external_rpath:!contains(QMAKE_DEFAULT_LIBDIRS, $${LLVM_LIBDIR}) {