Commit Graph

17 Commits

Author SHA1 Message Date
Christian Beer 6dbf55fd9a Tests: add unit testing framework using googletest
* 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.
2019-04-20 13:30:03 +02:00
Charlie Fenton bc1497ea38 Mac: Update script used by Travis CI for compatibility with new dependent library build scripts
- eliminate 32-bit builds (Xcode 10 with Mac OS X SDK 10.14 builds only 64-bit binaries)
2019-01-24 00:57:18 -08:00
Christian Beer 5a236ebb6a Build: optionally disable webview support in wxWidgets
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.
2018-01-29 21:08:50 +01:00
Charlie Fenton ff6bca9eb0 Mac: Fix Travis script to match my recent changes to buildWxMac.sh and buildsqlite3.sh scripts: don't rebuild these libraries if they are 64-bit only (i.e., if they are not "universal" binaries containing both 32-bit and 64-bit code) 2018-01-26 02:44:33 -08:00
Charlie Fenton d45922a32f Travis: (Mac) remove temporary code 2017-10-27 03:42:44 -07:00
Charlie Fenton 8c9375d73f Travis: (Mac) temporarily add code to remove incorrect FLAGFILE from earlier buggy script 2017-10-27 02:36:46 -07:00
Charlie Fenton 63d27c61ef Travis (Mac): better handling of dependent library version changes 2017-10-27 02:07:15 -07:00
Charlie Fenton 3c0db3165b Mac: check whether correct architectures are already built for all dependent libraries in Travis CI builds 2017-10-23 03:09:57 -07:00
Christian Beer 7b2fb9b32f Build Mac: harden build script against paths with spaces 2017-08-10 10:30:32 +02:00
Christian Beer aaec0f9490 Build Mac: add --quiet option to dependency build scripts
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.
2017-08-10 10:28:52 +02:00
Christian Beer 27333393ab Merge branch 'master' into travis_osx_build_clean
Retained Travis changes for Linux that happened in the meantime.

Conflicts:
	.travis.yml
2017-08-10 09:28:40 +02:00
Christian Beer a964b72f12 Build Linux: enable dependency debug build
Automatically cleans buildCache when switching between Release and Debug builds. Mostly useful for local debugging.
2017-04-11 13:07:44 +02:00
Christian Beer 9c8697d520 Build Mac: use shared file for dependency build scripts
from Charlie Fenton
2017-03-23 17:47:26 +01:00
Christian Beer a59f6bd76b Build: fix wxWidgets Linux build to work without prefix
Didn't work with an empty prefix. Also fixes behavior when --clean is specified since we use a special build directory.
2017-03-20 11:58:19 +01:00
Christian Beer abd19d2671 Build: patch linux wxWidgets to work with GCC6
From: 73e9e18ea0
2017-03-20 11:58:10 +01:00
Christian Beer ab956d875b Build: restructure build process on Mac to make it more flexible
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.
2017-03-17 15:38:58 +01:00
Christian Beer 3dc439945b Build: restructure dependency builds for Linux
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.
2017-03-17 14:55:39 +01:00