Commit Graph
473 Commits
Author SHA1 Message Date
Vasily 3211379844 Fix installer not putting default manifests in correct folder
Fixes this
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/80

Including things with
File "FILE\*.json"
includes the file in the base directory. Including it with /R
recursively includes the directory.
2019-02-28 21:16:53 +01:00
Vasily b75957fbaa Fix typo in .gitattributes 2019-02-28 21:16:53 +01:00
Vasily 1ea554ccb4 Update docs on building on Linux 2019-02-28 21:16:53 +01:00
Vasily da25e58cbb Add clang-tidy, create Linux build script
clang-tidy is currently set up with errors for all checks that do not
warn. This is to prevent regressing the repo.

Gradually these warnings should be removed in order to prevent further
regresssions in warnings that do not have many occurences.
2019-02-28 21:16:53 +01:00
Vasily dbb1ab70e5 Clarify cast in easylogging++
`tval.tv_usec` is a (signed) `long` and `ssPrec->m_offset` is an
`unsigned int`. Clang warns upon realizing that we are attempting to
divide a signed `long` with an `unsigned int`.

Casting the `long` to `unsigned long` makes both operands `unsigned` and
allows for auto conversion to `size_t`.

The `size_t` cast is to make it apparent that the cast is correct.
2019-02-21 18:48:53 +01:00
Vasily 4814c4686f Add brackets to optimize statement
Not having brackets forces the compiler to see the statement as (xdelta
* 360.0) * 8.0, which requires two `mulsd` operations. Adding the
brackets only requires one.

More details here
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/pull/87
2019-02-21 18:48:53 +01:00
Vasily 90ad7e7270 Remove extra parens 2019-02-21 18:48:53 +01: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 d66e50e318 Fix wrongly placed parens 2019-02-21 18:48:53 +01:00
Vasily a93c7500d3 Fix GCC -Werror=conversion
Was mistakenly cast to long long unsigned int instead of double.
2019-02-21 18:48:53 +01:00
Vasily e99b36f610 Fix GCC -Werror=conversion in easylogging++ 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 dacfe05425 Fix -Wconversion 2019-02-21 18:48:53 +01:00
Vasily cff2fc7eba Fix more -Wfloat-conversion warnings 2019-02-21 18:48:53 +01:00
Vasily b861ae0075 Fix -Wfloat-conversion warnings 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 775d0e0e36 Fix -Wsign-conversion warnings in easylogging++ 2019-02-21 18:48:53 +01:00
Vasily cfefec59e3 Fix -Wsign-conversion warnings 2019-02-21 18:48:53 +01:00
Vasily bc8ab72363 Fix clang -Wdouble-promotion cast 2019-02-21 18:48:53 +01:00
Vasily 60b9f71b9a Fix gcc -Wdouble-promotion warnings
For some reason GCC uses the float version of sqrt even though all
arguments and results are floats.
2019-02-21 18:48:53 +01:00
Vasily edf14b6bf9 Fix clang -Wdouble-promotion
gcc instance failed before compiling.
2019-02-21 18:48:53 +01:00
Vasily 4d06360c92 Fix gcc and clang -Wdouble-promotion 2019-02-21 18:48:53 +01:00
Vasily 85fbbbbd42 Gcc and clang fix for -Wdouble-promotion 2019-02-21 18:48:53 +01:00
Vasily 8444a4972b Attempt different fix for clang -Wdouble-promotion 2019-02-21 18:48:53 +01:00
Vasily 400654898b Fix gcc -Wdouble-promotion issues 2019-02-21 18:48:53 +01:00
Vasily 88dad1087f Fix clang -Wdouble-promotion issues 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
Vasily 60bd0a54c1 Fix shadowed variable in easylogging++.cc
The _var was chosen because it conflicts with the naming convention in
the rest of the file.

Fixing the error was easier than getting GCC to ignore errors in one
file, or using a pragma to mute the warning.
Introducing a GCC pragma would require disabling C4068 on MSVC (unknown
pragma).
2019-02-21 18:48:53 +01:00
Vasily 5c70aba098 Revert easylogging++ include and attempt changing easylogging++.cc 2019-02-21 18:48:53 +01:00
Vasily 940ad48923 Attempt -i switch in order to ignore warnings in file 2019-02-21 18:48:53 +01:00
Vasily 9019270df8 Refine compiler system includes for different platforms
MSVC seems to be the only platform that doesn't have a non-experimental
way to include files that don't give warnings.
2019-02-21 18:48:53 +01:00
Vasily 7234e2ba6c Convert Linux only cast from old style 2019-02-21 18:48:53 +01:00
Vasily 1b6cc47238 Add .. to linux include paths 2019-02-21 18:48:53 +01:00
Vasily 4ed6e80645 Include third party headers system headers for clang/g++ 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