* enable coverage reports from gcc and disable optimizations via option to configure
* install googletest library into buildcache
* script to compile and run unit tests using cmake
* first set of unit tests originaly contributed by Keith Uplinger
There are several hardcoded paths and assumptions made in order to get this working on Travis CI. New tooling is using cmake for cross platform builds and as such is not easy to use with an autotools based system.
It's not ideal but better than nothing.
Some Linux distributions are dropping webkitgtk support which is needed for wxWebView to work. This will build a second wxWidgets cache that has no webview support in order to test new code.
By default stdout is printed on screen. For CI builds this is cluttering the log.
Note: /dev/stdout is not POSIX but is available on MacOS and popular Linux distributions.
This allows to build BOINC on a Mac CI system as well as on a developers computer. See script headers for documentation.
The short version is:
* run ./3rdParty/buildMacDependencies.sh to compile all dependency libraries into 3rdParty/buildCache/mac (can be configured with --cache_dir)
* run ./mac_build/buildMacBOINC-CI.sh to compile all BOINC components using the build cache (--cache_dir can be used here too)
There are options for building debug versions but they are not very well tested. Currently you can't selectively build single targets using this.
This reduces the size of files to be cached between builds by the CI system. The scripts are flexible enough so they can also be used by developers locally.