From 34204d2441e7ab154971ed103bf381c23ab1e7cb Mon Sep 17 00:00:00 2001 From: Vasily Date: Sun, 17 Feb 2019 23:00:04 +0100 Subject: [PATCH] Add -Wnon-virtual-dtor and resolve issues The IPolicyConfig file is a third party file and since it describes a third party API we can't make changes to it. Adding it via the system includes disables warnings on most compilers. --- build_scripts/qt/compilers/clang-msvc.pri | 2 ++ build_scripts/qt/compilers/clang.pri | 2 ++ build_scripts/qt/compilers/gcc.pri | 2 ++ build_scripts/qt/sources.pri | 5 +++-- src/tabcontrollers/audiomanager/AudioManagerWindows.h | 2 +- .../policyconfig}/IPolicyConfig.h | 0 6 files changed, 10 insertions(+), 3 deletions(-) rename {src/tabcontrollers/audiomanager => third-party/policyconfig}/IPolicyConfig.h (100%) diff --git a/build_scripts/qt/compilers/clang-msvc.pri b/build_scripts/qt/compilers/clang-msvc.pri index 16f704c..213cb96 100644 --- a/build_scripts/qt/compilers/clang-msvc.pri +++ b/build_scripts/qt/compilers/clang-msvc.pri @@ -11,3 +11,5 @@ QMAKE_CXXFLAGS += /std:c++17 QMAKE_CXXFLAGS += -Xclang -Wshadow QMAKE_CXXFLAGS += -Wold-style-cast + +QMAKE_CXXFLAGS += -Wnon-virtual-dtor diff --git a/build_scripts/qt/compilers/clang.pri b/build_scripts/qt/compilers/clang.pri index 2ede6ee..cb16a71 100644 --- a/build_scripts/qt/compilers/clang.pri +++ b/build_scripts/qt/compilers/clang.pri @@ -5,3 +5,5 @@ QMAKE_CXXFLAGS += --system-header-prefix=third-party QMAKE_CXXFLAGS += -Wshadow QMAKE_CXXFLAGS += -Wold-style-cast + +QMAKE_CXXFLAGS += -Wnon-virtual-dtor diff --git a/build_scripts/qt/compilers/gcc.pri b/build_scripts/qt/compilers/gcc.pri index 54f25b0..4f26c33 100644 --- a/build_scripts/qt/compilers/gcc.pri +++ b/build_scripts/qt/compilers/gcc.pri @@ -6,3 +6,5 @@ QMAKE_CXXFLAGS += -Werror QMAKE_CXXFLAGS += -Wshadow QMAKE_CXXFLAGS += -Wold-style-cast + +QMAKE_CXXFLAGS += -Wnon-virtual-dtor diff --git a/build_scripts/qt/sources.pri b/build_scripts/qt/sources.pri index ff02bf9..1ade168 100644 --- a/build_scripts/qt/sources.pri +++ b/build_scripts/qt/sources.pri @@ -43,18 +43,19 @@ win32 { SOURCES += src/tabcontrollers/audiomanager/AudioManagerWindows.cpp \ src/tabcontrollers/keyboardinput/KeyboardInputWindows.cpp HEADERS += src/tabcontrollers/audiomanager/AudioManagerWindows.h \ - src/tabcontrollers/audiomanager/IPolicyConfig.h \ src/tabcontrollers/keyboardinput/KeyboardInputWindows.h } win32-msvc { INCLUDEPATH += third-party/openvr/headers \ - third-party/easylogging++ + third-party/easylogging++ \ + third-party/policyconfig } win32-clang-msvc { QMAKE_CXXFLAGS += /imsvc "$$PWD/../../third-party/openvr/headers" QMAKE_CXXFLAGS += /imsvc "$$PWD/../../third-party/easylogging++" + QMAKE_CXXFLAGS += /imsvc "$$PWD/../../third-party/policyconfig" } # Anything g++ or clang diff --git a/src/tabcontrollers/audiomanager/AudioManagerWindows.h b/src/tabcontrollers/audiomanager/AudioManagerWindows.h index 7651b05..105da6f 100644 --- a/src/tabcontrollers/audiomanager/AudioManagerWindows.h +++ b/src/tabcontrollers/audiomanager/AudioManagerWindows.h @@ -5,7 +5,7 @@ #include #include #include -#include "IPolicyConfig.h" +#include #include // application namespace diff --git a/src/tabcontrollers/audiomanager/IPolicyConfig.h b/third-party/policyconfig/IPolicyConfig.h similarity index 100% rename from src/tabcontrollers/audiomanager/IPolicyConfig.h rename to third-party/policyconfig/IPolicyConfig.h