Commit Graph

536 Commits

Author SHA1 Message Date
Dominic Hamon
fdd99b12a8 trailing whitespace 2015-06-18 10:34:03 -07:00
Eric
3e1dbc81f4 Merge pull request #130 from umireon/sysinfo-macosx-illegal-nullptr
Fix the compilation error against G++ on Mac OS X.
2015-06-16 10:31:45 -04:00
Kaito Udagawa
f72d24942a Add Kaito Udagawa to AUTHORS and CONTRIBUTORS 2015-06-16 22:45:57 +09:00
Kaito Udagawa
72ce39de3e Fix the compilation error against G++ on Mac OS X.
Using `0` as a null pointer is illegal when `-Wzero-as-null-pointer-constant`
is given to G++.  To avoid the warning `zero-as-null-pointer-constant`,
`nullptr` (C++11 keyword) instead of `0` is used in the `sysctl` invocation.
2015-06-13 19:34:20 +09:00
Dominic Hamon
d60945ac43 Merge pull request #128 from myd7349/master
Fix issue #127
2015-06-08 09:23:04 -07:00
myd7349
9afa6c986c Fix issue #127 2015-06-05 09:25:11 +08:00
Dominic Hamon
f6c2ea7fef Merge pull request #125 from dcoeurjo/cmakeEmptybuildtype
Fixing cmake issue with empty cmake_build_type
2015-05-22 14:46:11 -07:00
David Coeurjolly
68e69213e7 Fixing cmake issue with empty cmake_build_type 2015-05-22 23:15:19 +02:00
Dominic Hamon
d18ebcb99a Merge pull request #122 from mattyclarkson/coverage
Coverage
2015-05-13 09:40:03 -07:00
Matt Clarkson
ef47992125 Added coveralls support 2015-05-13 09:17:48 +01:00
Matt Clarkson
344775db63 Enable strict aliasing warnings 2015-05-13 09:17:48 +01:00
Matt Clarkson
36c1eb6975 Coverage support with LCOV and GCOV
This patch adds a `coverage` target that allows coverage statisitics to be
retrieved for the project. It requires that lcov and gcov is installed and
that the generator is unix makefiles but this can be improved upon in
future releases.

To make it work use the coverage build type:

```
cmake -DCMAKE_BUILD_TYPE=Coverage .
make coverage
```
2015-05-13 09:17:38 +01:00
Dominic Hamon
d8c7605341 Update README.md 2015-05-12 11:32:44 -07:00
Matt Clarkson
3314aa43c2 Allow the user to set the C++ standard to use
This is useful to test the library at different standard levels. Currently
doesn't search for C++14 in 'auto' mode. Can enable in the future
2015-05-12 17:15:41 +01:00
Matt Clarkson
8b5016034f Ignore tests 2015-05-12 17:15:41 +01:00
Matt Clarkson
e44ee2d005 Group common C++ flags 2015-05-12 17:15:41 +01:00
Matt Clarkson
bb23a9b9f2 Compile with link time optimisation
Can provide speed improvements
2015-05-12 17:15:38 +01:00
Dominic Hamon
375e66c825 Update README.md 2015-05-11 12:34:03 -07:00
Matt Clarkson
7418bbbbac Only warn on errors in release mode
This improves development iterations when working in debug mode as you
don't have to fix up warnings to get the code to compile. Once a feature
is complete you can then run a release build and fix up all the warnings.
2015-05-05 12:11:43 +01:00
Matt Clarkson
fc883f6742 Improve the CMake C++ flag checker
This checks the flag on the compiler AND linker which allows it to work
with flags such as -flto and -fsanitize=address
2015-05-01 11:09:56 +01:00
Eric
d51ba32791 Merge pull request #120 from google/benchmark-fixtures
Add ability to use benchmark fixtures
2015-04-06 19:38:16 -04:00
Eric Fiselier
9c25a67c1a address more review comments 2015-04-06 19:04:12 -04:00
Eric Fiselier
9ed538f511 address review comments 2015-04-06 17:56:05 -04:00
Eric Fiselier
12f4405870 add ability to use benchmark filters 2015-04-06 17:00:06 -04:00
Dominic Hamon
2b954213f9 Merge branch 'geoffromer-cmake-patch' 2015-04-03 13:35:00 -07:00
Dominic Hamon
1e0ed3a21c Rearrange the pieces 2015-04-03 13:33:54 -07:00
Geoff Romer
dcb1a3dad4 Drop down to CMake 2.8.11, and drop INTERFACE since that version doesn't
support it.
2015-04-03 13:30:59 -07:00
Geoff Romer
3078ce9bc5 Link pthread as an INTERFACE library. 2015-04-03 13:30:59 -07:00
Geoff Romer
89a1edae15 Require cmake 2.8.12 in order to support target_include_directories, and
simplify thread linking logic.
2015-04-03 13:30:59 -07:00
Geoff Romer
a6ad799a4d Configure 'benchmark' cmake target so that when other targets depend on it,
they get the appropriate include directories and link libraries automatically.
2015-04-03 13:30:59 -07:00
Dominic Hamon
42d2b8d11a Merge pull request #118 from davidreynolds/master
Fix typos: rangeY -> range_y()
2015-04-03 16:29:12 -04:00
Eric Fiselier
818c9fcc2f Upgrade travis to use CMake 2.8.12 and add Clang builders 2015-04-03 14:43:42 -04:00
David Reynolds
30ae37b923 Fix typos: rangeY -> range_y() 2015-04-02 18:34:52 -07:00
Eric Fiselier
bf063941d4 Print information about travis enviroment 2015-04-02 13:32:18 -04:00
Eric
bf58a90067 Merge pull request #115 from google/build-shared
Remove BENCHMARK_ENABLE_SHARED and prefer BUILD_SHARED_LIBS
2015-04-01 13:45:12 -04:00
Eric Fiselier
8fcfa81d51 Fix comment about linking threading 2015-04-01 11:40:22 -04:00
Eric Fiselier
8bb991d099 Remove BENCHMARK_ENABLE_SHARED and prefer BUILD_SHARED_LIBS 2015-04-01 11:34:38 -04:00
Dominic Hamon
9934396e1f Add missing paranthesis and documentation 2015-04-01 10:51:37 -04:00
Dominic Hamon
738bd82b35 Merge pull request #113 from mattyclarkson/install-fix
Libraries are treated as runtime objects on Windows
2015-04-01 10:23:08 -04:00
Matt Clarkson
d676c5b375 Libraries are treated as runtime objects on Windows
When the library is created as a *.dll on Windows it is treated like a
runtime object so we must proivde the destination for the runtime
objects in our install command
2015-04-01 10:57:08 +01:00
Dominic Hamon
6674744639 Merge pull request #111 from google/buildtype_log
Clarify build type warning
2015-03-31 15:32:36 -04:00
Dominic Hamon
25e46848f9 Clarify build type warning 2015-03-31 14:43:38 -04:00
Eric
006d23ccca Merge pull request #108 from google/list-tests
Add --benchmark_list_tests option and change filter to match generated name.
2015-03-31 14:16:58 -04:00
Eric Fiselier
ba1becca1a Add braces for one line conditionals and loops 2015-03-31 13:28:41 -04:00
Dominic Hamon
65ed470c0f Merge pull request #64 from mattyclarkson/nt
MinGW support
2015-03-31 09:49:56 -04:00
Matt Clarkson
36d7dc67c1 appveyor configuration file
This file provides scripting to build the benchmark library in the cloud
on the appveyor build system. It provides a matrix of configurations to
cover as many possibilities as it can. Eventually MSVC can be added to the
matrix to provide coverage of the Visual Studio solutions.
2015-03-31 11:24:41 +01:00
Matt Clarkson
60910b3de7 Added a script that can download MinGW
The python script provides a method to get the repository of mingw-builds
gcc compilers and download one of them. This is useful for providing a
matrix of compilations on appveyor.

The versions of compilers are seperated by multiple things:

  - version
  - threading model
  - exception model
  - revision

All four of those things need to be matched if using the libraries built
by MinGW. The script allows you to specify all of those variations. If
a variation isn't defined it picks the most common or latest settings.

For example, if the version isn't specified the latest will be selected
and if the exception model isn't defined then the zero exception model
(seh) will be selected if available.
2015-03-31 10:13:11 +01:00
Matt Clarkson
b35b581e76 Ignore windows shared libraries 2015-03-31 10:13:11 +01:00
Matt Clarkson
07de09c94c Ignore python compiled files 2015-03-31 10:13:10 +01:00
Matt Clarkson
b2a43b491c NT definition of MyCPUUsage and ChildrenCPUUsage
The children CPU usage doesn't seem to have a equivalent on NT systems
so it just returns zero.
2015-03-31 10:13:10 +01:00