Commit graph

130 commits

Author SHA1 Message Date
Matt Clarkson 6a66991586 Verify gtest with URL_MD5 2014-08-08 13:46:04 +01:00
Dominic Hamon ed08661efe Remove URL_HASH as it is unsupported 2014-08-07 10:28:55 -07:00
Dominic Hamon 0e494bcb34 Merge pull request #46 from mattyclarkson/gtest_verify
Verify the download of gtest
2014-08-07 10:20:46 -07:00
Matt Clarkson d2aa5c1eb3 Verify the download of gtest 2014-08-07 17:58:30 +01:00
Matt Clarkson 373cc41100 C++11 concurrency instead of pthread 2014-08-06 10:50:21 -07:00
Matt Clarkson 6b1a6958c4 CMake function for adding compiler flags 2014-08-04 10:01:44 +01:00
Matt Clarkson 6945096ba1 Add -Wshadow if supported 2014-08-04 10:01:44 +01:00
Matt Clarkson e863292dcc Detect compiler flags and append to default CMake flags 2014-08-04 10:01:44 +01:00
Dominic Hamon 4940eebf65 Merge pull request #42 from mattyclarkson/versioning
Implemented git versioning
2014-08-01 21:10:48 -07:00
Matt Clarkson c927845d5a get_git_version CMake function 2014-08-01 15:02:32 +01:00
Matt Clarkson d591edf513 Implemented git versioning
This patch automatically versions the shared libraries from any annotated `git`
tags:

```
git tag -a v1.0.0
```

It expects semver version tags such as `v1.0.0`. It would be trivial to support
`1.0.0` but looking around it seems that most C/C++ projects follow `vX.X.X`
rather that `X.X.X` like a lot of `Node.js` stuff.

This determines that the if the project has had a certain amount of commits
since the last tag and also if the project is _dirty_ (has modified files), but
does __nothing__ with that information. In the future a more robust release
could be implemented in the script.

This is pretty brittle and has little in the way of configuration. Ideally we
should use `find_program` to work out where `git` is so that users can configure
it. This implementation assumes that `git` will be available in `PATH`

Outputs the following on the command line:

```
-- git Version: v[MAJOR].[MINOR].[PATCH]-[COMMITS_SINCE_TAG]-[SHA1](-dirty)?
-- Version: [MAJOR].[MINOR].[PATCH]
```
2014-08-01 09:20:28 +01:00
Dominic Hamon 890908c197 Merge pull request #39 from mattyclarkson/fixes
Allow shared libraries with BUILD_SHARED_LIBS
2014-07-30 10:15:55 -07:00
Matt Clarkson 57fdf38f74 Allow shared libraries with BUILD_SHARED_LIBS 2014-07-30 18:08:54 +01:00
Matt Clarkson 4fae2944c7 Added Matt Clarkson as a contributor 2014-07-30 18:06:52 +01:00
Matt Clarkson ace6464b28 Made AUTHORS and CONTRIBUTES alphabetical 2014-07-30 18:06:52 +01:00
Dominic Hamon 20ac20ac77 Merge branch 'eddyxu-mac' 2014-07-27 15:48:03 -07:00
Dominic Hamon b30603094a Merge branch 'mac' of git://github.com/eddyxu/benchmark into eddyxu-mac 2014-07-27 15:47:25 -07:00
Dominic Hamon 2d835a0c82 Merge pull request #38 from eddyxu/authors
Add Lei Xu to AUTHORS and CONTRIBUTORS
2014-07-27 15:46:10 -07:00
Lei Xu 0b19192fb0 Add Lei Xu to AUTHORS and CONTRIBUTORS 2014-07-25 08:15:46 -07:00
Lei Xu 3460bf1aa6 Fixed compiling on Mac 10.9.3 with g++-4.8, clang or system c++ 2014-07-24 23:57:09 -07:00
Dominic Hamon f1e1ccafcc Merge pull request #34 from predmond/master
fix examples to use SetBytesProcessed
2014-07-24 13:14:49 -07:00
Dominic Hamon 58e52ba386 Ignore stanza for ninja users 2014-07-23 19:32:37 -07:00
Paul Redmond 0ce150e1fc fix examples to use SetBytesProcessed
- use State::SetBytesProcessed not SetBenchmarkBytesProcessed
2014-07-23 13:42:04 -04:00
Pierre Phaneuf c7eb316e7e Add @predmond to the AUTHORS and CONTRIBUTORS files. 2014-07-23 17:18:40 +01:00
Pierre Phaneuf 338eb89671 Ignore backup files. 2014-07-23 17:18:23 +01:00
Dominic Hamon 9f01575ffa Merge pull request #33 from predmond/master
fix building on ubuntu
2014-07-23 09:01:16 -07:00
Paul Redmond 52b3004ae3 fix linker error by reordering link libraries 2014-07-23 10:35:42 -04:00
Paul Redmond b33d1f1d39 fix signed/unsigned comparison warning 2014-07-23 10:35:12 -04:00
Dominic Hamon 6a6fc70cf0 Merge pull request #31 from pleroy/DestructionPure
Fix a bug in the destruction of BenchmarkFamilies.
2014-06-10 22:20:33 -07:00
pleroy 10dc155372 Fix a bug in the destruction of BenchmarkFamilies. 2014-06-09 13:31:51 +02:00
Dominic Hamon 35da167b9e Merge pull request #28 from pleroy/PausePure
Take the CPU time into account in PauseTiming/ResumeTiming
2014-06-05 14:10:32 -07:00
pleroy fe1b75b87e Merge branch 'GoogleMaster' into PausePure
Conflicts:
	src/benchmark.cc
2014-06-05 23:02:22 +02:00
Dominic Hamon 5c457b06c8 Merge pull request #25 from pleroy/StatsPure
Fix the stddev/mean computations
2014-06-04 14:48:23 -07:00
pleroy bcf08705f5 Comment. 2014-06-04 23:17:09 +02:00
pleroy 640dd5a492 Less of a hack: avoid the division/multiplication if the stddev is 0. 2014-06-04 23:13:22 +02:00
pleroy db4248e21e Merge branch 'TwoBugs' into StatsPure 2014-06-04 22:51:29 +02:00
pleroy e189ec0283 Print mean/stddev of the # of iterations. 2014-06-04 22:02:28 +02:00
Dominic Hamon 7c428e91b7 Merge pull request #27 from pleroy/TwoBugs
Two bug fixes in KeepRunning
2014-06-04 12:55:59 -07:00
pleroy 0d9a060f5b Two bug fixes in KeepRunning. 2014-06-04 21:21:24 +02:00
pleroy 556002bec1 Adding myself to the contributors 2014-06-04 21:18:52 +02:00
Chris Kennelly 883413be84 Merge branch 'pphaneuf-gitignore' 2014-06-04 09:52:14 -05:00
Pierre Phaneuf c96fb246b9 Add a few output files to .gitignore. 2014-06-04 15:34:58 +01:00
pleroy ffcdc94c7b Adding myself to the contributors 2014-05-29 17:32:04 +02:00
pleroy ec1e09f939 Ignore the CPU time consumed when timing is paused.
Conflicts:
	src/benchmark.cc
2014-05-29 16:01:11 +02:00
pleroy 291ff1faed Fix the stddev/mean computations which had be garbled since commit e5f5a0d30e, leading to a mean that was not in the min/max range and to zero-divide in the stddev computation, among others. 2014-05-29 15:25:24 +02:00
Dominic Hamon e5a431998d Merge pull request #23 from ckennelly/clock_initialization
Resolve race on approx_time_ in FastClock.
2014-05-05 10:03:11 -07:00
Dominic Hamon 46507cb276 Merge pull request #22 from ckennelly/mutex_initialization
Statically initialize benchmark_mutex and extend its lifetime.
2014-05-05 10:02:50 -07:00
Dominic Hamon 276bda99ac Merge pull request #21 from ckennelly/issue20
Resolve benchmark cleanup race condition in issue #20.
2014-05-05 10:02:33 -07:00
Chris Kennelly 2c9b29c9ff Resolve race on approx_time_ in FastClock.
InitType should hold a lock before storing to approx_time_, which is later
read by the background worker.  When the worker is actively running (i.e., not
blocked on bg_cond_) it holds bg_mutex_.

InitType is called during benchmark setup only, so any contention induced for
the mutex should not have performance/accuracy consequences.
2014-05-05 09:45:27 -07:00
Chris Kennelly 77106c1f68 Statically initialize benchmark_mutex and extend its lifetime.
RunSpecifiedBenchmarks destroys benchmark_mutex before its last usage,
typically in RemoveBenchmark during cleanup of the BenchmarkFamilies singleton.
2014-05-05 09:42:13 -07:00