Vasily
9cfaf68a92
Update GCC compiler to not use hardcoded g++-7
...
Newer versions of Ubuntu ship with >g++-7, so there will be less of a
need as time goes on to perform this hack.
2019-04-22 09:56:50 +02:00
Vasily
bd5b913f20
Add qt to clang system header prefixes
...
Clang-tidy will error on them otherwise.
2019-04-17 20:51:34 +02:00
Vasily
2da88237f2
Remove -Wmissing-variable-declaration from GCC
...
GCC does not support it.
2019-02-21 18:48:53 +01:00
Vasily
81ae0efd1c
Add -Wmissing-variable-declarations to all clang/gcc compilers
2019-02-21 18:48:53 +01:00
Vasily
9ab0b1d62d
Remove -Wextra-semi for GCC
...
It is not currently supported yet by GCC.
2019-02-21 18:48:53 +01:00
Vasily
9d46358309
Add -Wzero-as-null-pointer-constant and fix occurences
2019-02-21 18:48:53 +01:00
Vasily
896559cc20
Add -Wextra-semi and fix occurences
2019-02-21 18:48:53 +01:00
Vasily
c8709888d0
Add -Wno-sign-conversion to GCC and clang
...
The auto generated Qt MOC .cpp files contain warnings that can't be
fixed.
2019-02-21 18:48:53 +01:00
Vasily
29d41b4ed0
Add -Wconversion to GCC and Clang
...
clang-msvc spams warnings from the moc .cpp files that include Qt
headers.
2019-02-21 18:48:53 +01:00
Vasily
cfefec59e3
Fix -Wsign-conversion warnings
2019-02-21 18:48:53 +01:00
Vasily
ec014a1e74
Add -Wdouble-promotion switch to clang/gcc compilers
...
It introduces a lot of ugly casts. Long term the floats should probably
be changed to doubles everywhere since we're only compiling for 64 bit
x86.
2019-02-21 18:48:53 +01:00
Vasily
fe3bbc2959
Remove -Weffc++ from GCC
...
The "should be initialized in the member initialization list" is
incorrectly implemented on GCC.
https://stackoverflow.com/questions/14002454/can-i-ignore-the-gcc-warning-foom-bar-should-be-initialized-in-the-member-i
2019-02-21 18:48:53 +01:00
Vasily
0caff37251
Add -Weffc++ switch to clang/gcc
2019-02-21 18:48:53 +01:00
Vasily
473e928106
Refactor common switches into file
2019-02-21 18:48:53 +01:00
Vasily
106727a5b9
Remove -Wmost from GCC
...
-Wmost is a clang only switch.
2019-02-21 18:48:53 +01:00
Vasily
fddae4278b
Add more recommended switches
...
Commented out switches still give errors.
2019-02-21 18:48:53 +01:00
Vasily
ac614c36e6
Replace -pedantic with -Wpedantic
2019-02-21 18:48:53 +01:00
Vasily
d87338d195
Add -pedantic to Linux compilers
...
clang-msvc does not support -pedantic.
2019-02-21 18:48:53 +01:00
Vasily
82ac83d649
Add -Wextra to supported compilers
2019-02-21 18:48:53 +01:00
Vasily
cc4f0d4bc8
Remove unneeded -Xclang
2019-02-21 18:48:53 +01:00
Vasily
34204d2441
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.
2019-02-21 18:48:53 +01:00
Vitaly
acb666a142
Remove old style casts and enable warnings for them
2019-02-21 18:48:53 +01:00
Vasily
81af2b9c72
Add -Wshadow and solve warnings
2019-02-21 18:48:53 +01:00
Vasily
fdc096bb61
Add recommended compiler switches
...
From
https://github.com/lefticus/cppbestpractices/blob/master/02-Use_the_Tools_Available.md#MSVC
The '/w14619' switch creates errors in qglobal.h and qvector.h.
2019-02-21 18:48:53 +01:00
Vasily
68a72ded1f
Add whole program optimization to MSVC
2019-02-21 18:48:53 +01:00
Vitaly
4b48d051c8
Refactor Qt project file into compiler specific subfiles
...
Encapsulating compiler specific options in a separate file
makes it easier to reason about what is going to happen on
a specific qmake call.
clang-msvc and msvc are separate because they don't support
exactly the same compiler switches.
2019-02-21 18:48:53 +01:00