diff options
author | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-11-12 09:53:44 +0100 |
---|---|---|
committer | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-11-29 09:27:33 +0000 |
commit | 9eb66a806f098b84c22654da5aeb62a9db8e8c59 (patch) | |
tree | 3964adc7bf90c6af93405483e8a8d17d7acf62e6 /src/shared | |
parent | ab4f6ad9ce9f7f83857d8b09326ea57d1b521703 (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.pri | 14 |
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}) { |