This change adds a cmake configuration switch to enable code coverage
instrumentation during the compilation of the project. When tests are
executed, the instrumentation outputs coverage data to output files in
the build directory. Programs such as lcov/gcovr can turn that data into
reports.
This change also adds steps to the travis CI configuration to build with
this configuration switch and then use lcov to generate the consolidated
report and publish to codecov.io
This commit takes the existing travis task list and attempts to split
it into multiple jobs for the sake of efficiency. Also properly
separates out the build/deploy of documentation.
The filter_audio API is not working for qTox/Tox and thus disabled by default via compiler switch. In current qTox UI, it is not configurable, even when this switch is enabled. According to issue #3194 the library is no longer maintained as well. I don't see any reason to keep it in qTox.
Given that currently `filter_audio` doesn't help qTox users to improve
quality of their conversations, there's little to no point in making
qTox build with it by default. This might change when (if?)
`filter_audio` support in qTox gets improved/fixed.
BREAKING CHANGE: Disabling of `filter_audio` was done by passing
`DISABLE_FILTER_AUDIO=YES` to `qmake`. With this change `filter_audio`
is disabled by default, and in order to enable it,
`DISABLE_FILTER_AUDIO=NO` has to be passed to `qmake`.
Beside making it work again, there are some improvements:
Linux side:
* use minimal supported Qt version, currently it's 5.3
* use minimal supported GCC version, currently 4.8
* use newer ffmpeg version to compile against - 2.8.5
* compile qTox 2 times, first run without support for optional dependencies
* use ubuntu 14.04 for building (less deps needs to be compiled/added from PPAs)
OSX:
* add osx to build targets