Commit Graph
29 Commits
Author SHA1 Message Date
Vasily e8af73db28 Make CircleCI have feature parity with TravisCI and update docs
Unnecessary line from Bionic 18.04 was removed.

A proper version guard was included for clang. Xenial currently ships
3.8.
2019-06-24 19:21:14 +02:00
Vasily b65657b371 Add clang passing build
CircleCI Xenial does not come with an up to date version of Clang. It is
therefore required to get the newest version (8). The .pri file has
quickly been edited to be similar to the g++ version check.
2019-06-24 19:21:14 +02:00
Vasily b60113fb8e Replace GCC version regex with simpler solution 2019-04-22 09:56:50 +02:00
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