aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2015-10-08Revert "Added Wconversion so the gcc/clang warnings will be more similar to ↵Anton Danielsson
W4 on MSVC." This reverts commit 0a2bd8935391e42f2581ec4826f7ac5f8fc9041a.
2015-10-08Added Wconversion so the gcc/clang warnings will be more similar to W4 on MSVC.Anton Danielsson
This also points out some important issues like: warning: conversion to 'size_t {aka unsigned int}' from 'long long int' may alter its value [-Wconversion] state.SetBytesProcessed(items_processed * sizeof(v)); This occurs on 32 bit systems where size_t is only 32 bits.
2015-10-08Added _CRT_SECURE_NO_WARNINGS under MSVC.Anton Danielsson
2015-10-08Changed MSVC warnings from Wall to W4 to avoid 10000+ warnings from ↵Anton Danielsson
stl/windows headers.
2015-05-13Enable strict aliasing warningsMatt Clarkson
2015-05-13Coverage support with LCOV and GCOVMatt Clarkson
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-12Allow the user to set the C++ standard to useMatt Clarkson
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-12Group common C++ flagsMatt Clarkson
2015-05-12Compile with link time optimisationMatt Clarkson
Can provide speed improvements
2015-05-05Only warn on errors in release modeMatt Clarkson
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-04-03Rearrange the piecesDominic Hamon
2015-04-03Drop down to CMake 2.8.11, and drop INTERFACE since that version doesn'tGeoff Romer
support it.
2015-04-03Require cmake 2.8.12 in order to support target_include_directories, andGeoff Romer
simplify thread linking logic.
2015-04-01Remove BENCHMARK_ENABLE_SHARED and prefer BUILD_SHARED_LIBSEric Fiselier
2015-03-26finish selection of clock with debug informationEric Fiselier
2015-03-17merge masterEric Fiselier
2015-03-17Merge null pointer warningsEric Fiselier
2015-03-12add floating point comparison warningsEric Fiselier
2015-03-12Enable int shortening warningsEric Fiselier
2015-03-12Enable zero as NULL warnings and fix all occurencesEric Fiselier
2015-03-12Adopt new benchmark timing internals.Eric Fiselier
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-06Step one towards merging timer changes.Eric Fiselier
This patch cleans up our use of generic macros and also merges changes in the build system. It adds options -DBENCHMARK_ENABLE_TESTING and -DBENCHMARK_ENABLE_SHARED.
2015-02-21Fix #77 add FreeBSD detection in cmakePavel Davydov
2015-02-19Don't use c++14Eric Fiselier
2014-10-26remove -Wzero-as-null-pointer-constant flag for nowNiklas Hofmann
2014-10-18Merge pull request #58 from google/zero_nullChris Kennelly
Fix #50 by using nullptr and adding stricter warning.
2014-10-11Fix #50 by using nullptr and adding stricter warning.Dominic Hamon
2014-10-11Move pthread dependency to test CMakeLists.txtDominic Hamon
2014-08-22Resolve regular expression enginesMatt Clarkson
2014-08-20CMakeLists.txt commentsMatt Clarkson
2014-08-20Consistent indentation in CMakeLists.txtMatt Clarkson
2014-08-08Verify gtest with URL_MD5Matt Clarkson
2014-08-07Remove URL_HASH as it is unsupportedDominic Hamon
2014-08-07Verify the download of gtestMatt Clarkson
2014-08-04CMake function for adding compiler flagsMatt Clarkson
2014-08-04Add -Wshadow if supportedMatt Clarkson
2014-08-04Detect compiler flags and append to default CMake flagsMatt Clarkson
2014-08-01get_git_version CMake functionMatt Clarkson
2014-08-01Implemented git versioningMatt Clarkson
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-07-30Allow shared libraries with BUILD_SHARED_LIBSMatt Clarkson
2014-07-24Fixed compiling on Mac 10.9.3 with g++-4.8, clang or system c++Lei Xu
2014-04-23Remove URL_HASH and TLS_VERIFY from CMake configuration.Chris Kennelly
Per the CMake 2.8.0 documentation, these options did not exist for ExternalProject_Add. These options were added in CMake 2.8.10.
2014-04-23Add ExternalProject reference to Google Test 1.7.0.Chris Kennelly
2014-04-23Setup targets from each directory, rather than the top-level.Chris Kennelly
2014-02-05Missing includes in install targetDavid Coeurjolly
2014-02-05Thread is requiredDavid Coeurjolly
2014-02-05Cmake edit with 'make install' targetDavid Coeurjolly
2014-01-10add pedantic errors and fix themDominic Hamon
2013-12-18Initial commitDominic Hamon
Benchmark library builds and runs but only single-threaded. Multithreaded support needs a bit more love. Currently requires some C++11 support (g++ 4.6.3 seems to work).