Commit Graph

17 Commits

Author SHA1 Message Date
Eric Fiselier 9fcdd6fc25 Prevent re-execution of slow feature tests. 2016-05-23 20:51:15 -06:00
Alastair Murray a574110048 Close a memory leak in configuration code
This was causing configuration failures on address sanitizer builds.
2016-02-09 13:08:56 +00:00
Zbigniew Skowron cd2e633fe5 Fix get_git_version to use GIT_EXECUTABLE.
get_git_version CMake function uses 'git' command directly, instead of
GIT_EXECUTABLE variable. This causes CMake errors while generating
project files in environments, where 'git' command is not present
in PATH.
2015-10-18 02:13:37 +02:00
Tobias Ulvgard 775ef51d04 CMake check for git on the system 2015-10-06 10:09:55 +02: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 Fiselier b07fee6b64 address review comments 2015-03-26 18:32:31 -04:00
Eric Fiselier d3e0671a87 finish selection of clock with debug information 2015-03-26 17:52:28 -04:00
Eric Fiselier 7a767012f1 Adopt new benchmark timing internals.
This patch adopts a new internal structure for how timings are performed.
Currently every iteration of a benchmark checks to see if it has been running
for an appropriate amount of time. Checking the clock introduces noise into
the timings and this can cause inconsistent output from each benchmark.

Now every iteration of a benchmark only checks an iteration count to see if it
should stop running. The iteration count is determined before hand by testing
the benchmark on a series of increasing iteration counts until a suitable count
is found. This increases the amount of time it takes to run the actual benchmarks
but it also greatly increases the accuracy of the results.

This patch introduces some breaking changes. The notable breaking changes are:
1. Benchmarks run on multiple threads no generate a report per thread. Instead
   only a single report is generated.
2. ::benchmark::UseRealTime() was removed and replaced with State::UseRealTime().
2015-03-12 18:03:33 -04:00
Eric Fiselier c5a362b4d3 Change std::regex detection test to detect bug in libstdc++.
libstdc++'s std::regex has (or had) a bug in std::regex::operator=(...) that
caused undefined behaviour. Clang will detect this and compile the function so
that it crashes at runtime. This patch tried to detect that bug during
configuration.
2015-03-06 12:05:19 -05:00
Chris Kennelly 8eac5dc328 Merge pull request #58 from google/zero_null
Fix #50 by using nullptr and adding stricter warning.
2014-10-18 15:33:40 -07:00
Dominic Hamon e6107a781c Fix #50 by using nullptr and adding stricter warning. 2014-10-11 15:52:50 -07:00
Dominic Hamon f98c5760fe Fix #54 by correcting reference to CXX flags for variants. 2014-10-11 15:13:00 -07:00
Matt Clarkson 9593e64076 Fixed the CMake add_cxx_compiler_flag function 2014-08-22 14:56:12 +01:00
Matt Clarkson edfa60a1d1 Resolve regular expression engines 2014-08-22 14:55:46 +01:00
Matt Clarkson 38c27c2cb3 Do not use CMake CONCAT
CONCAT was added quite late in the CMake release cycles so lets use `set()`
instead which has been around _forever_...
2014-08-15 11:09:22 +01:00
Matt Clarkson 6b1a6958c4 CMake function for adding compiler flags 2014-08-04 10:01:44 +01:00
Matt Clarkson c927845d5a get_git_version CMake function 2014-08-01 15:02:32 +01:00