diff --git a/.gitignore b/.gitignore index 3c1b4f2183..a2323beca6 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,4 @@ rules.ninja # out-of-source build top-level folders. build/ _build/ +bazel-* diff --git a/BUILD b/BUILD new file mode 100644 index 0000000000..e4a8f23049 --- /dev/null +++ b/BUILD @@ -0,0 +1,393 @@ +cc_library( + name = "benchmark", + srcs = ["src/benchmark.cc"], + hdrs = ["include/benchmark/benchmark.h"], + strip_include_prefix = "include", + deps = [ + ":benchmark_api_internal", + ":benchmark_header", + ":benchmark_register", + ":check", + ":colorprint", + ":commandlineflags", + ":complexity", + ":console_reporter", + ":counter", + ":csv_reporter", + ":internal_macros", + ":json_reporter", + ":log", + ":mutex", + ":re", + ":reporter", + ":statistics", + ":string_util", + ":sysinfo", + ":timers", + ], + visibility = [ + "//visibility:public", + ], +) + +cc_library( + name = "arraysize", + hdrs = ["src/arraysize.h"], + strip_include_prefix = "src", + ) + +cc_library( + name = "benchmark_api_internal", + hdrs = ["src/benchmark_api_internal.h"], + strip_include_prefix = "src", +) + +cc_library( + name = "benchmark_header", + hdrs = ["include/benchmark/benchmark.h"], + strip_include_prefix = "include", + ) + +cc_library( + name = "benchmark_register", + srcs = ["src/benchmark_register.cc"], + deps = [ + ":benchmark_api_internal", + ":benchmark_header", + ":check", + ":commandlineflags", + ":complexity", + ":internal_macros", + ":mutex", + ":re", + ":statistics", + ":string_util", + ":timers", + ], + ) + +cc_library( + name = "check", + hdrs = ["src/check.h"], + strip_include_prefix = "src", + deps = [ + ":benchmark_header", + ":internal_macros", + ":log", + ], +) + +cc_library( + name = "colorprint", + hdrs = ["src/colorprint.h"], + srcs = ["src/colorprint.cc"], + strip_include_prefix = "src", + deps = [ + ":check", + ":internal_macros", + ] +) + +cc_library( + name = "commandlineflags", + hdrs = ["src/commandlineflags.h"], + srcs = ["src/commandlineflags.cc"], + strip_include_prefix = "src", + deps = [ + ] +) + +cc_library( + name = "complexity", + hdrs = ["src/complexity.h"], + srcs = ["src/complexity.cc"], + strip_include_prefix = "src", + deps = [ + ":benchmark_header", + ":check", + ] +) + +cc_library( + name = "console_reporter", + srcs = ["src/console_reporter.cc"], + strip_include_prefix = "src", + deps = [ + ":benchmark_header", + ":commandlineflags", + ":complexity", + ":colorprint", + ":counter", + ":string_util", + ":timers", + ] +) + +cc_library( + name = "counter", + hdrs = ["src/counter.h"], + srcs = ["src/counter.cc"], + strip_include_prefix = "src", + deps = [ + ":benchmark_header", + ] +) + +cc_library( + name = "csv_reporter", + srcs = ["src/csv_reporter.cc"], + strip_include_prefix = "src", + deps = [ + ":benchmark_header", + ":complexity", + ":string_util", + ":timers", + ] +) + +cc_library( + name = "cycleclock", + hdrs = ["src/cycleclock.h"], + strip_include_prefix = "src", + deps = [ + ] +) +cc_library( + name = "internal_macros", + hdrs = ["src/internal_macros.h"], + strip_include_prefix = "src", + deps = [ + ":benchmark_header", + ], +) + +cc_library( + name = "json_reporter", + srcs = ["src/json_reporter.cc"], + strip_include_prefix = "src", + deps = [ + ":benchmark_header", + ":complexity", + ":string_util", + ":timers", + ] +) + +cc_library( + name = "log", + hdrs = ["src/log.h"], + strip_include_prefix = "src", +) + +cc_library( + name = "mutex", + hdrs = ["src/mutex.h"], + strip_include_prefix = "src", + deps = [ + ] +) + +cc_library( + name = "re", + hdrs = ["src/re.h"], + strip_include_prefix = "src", + deps = [ + ], + defines = ["HAVE_POSIX_REGEX"], +) + +cc_library( + name = "reporter", + srcs = ["src/reporter.cc"], + strip_include_prefix = "src", + deps = [ + ":benchmark_header", + ":timers", + ] +) + +cc_library( + name = "sleep", + hdrs = ["src/sleep.h"], + srcs = ["src/sleep.cc"], + strip_include_prefix = "src", + deps = [ + ":internal_macros", + ] +) + +cc_library( + name = "statistics", + hdrs = ["src/statistics.h"], + srcs = ["src/statistics.cc"], + strip_include_prefix = "src", + deps = [ + ":benchmark_header", + ":check", + ] +) + +cc_library( + name = "string_util", + hdrs = ["src/string_util.h"], + srcs = ["src/string_util.cc"], + strip_include_prefix = "src", + deps = [ + ":arraysize", + ":internal_macros", + ] +) + +cc_library( + name = "sysinfo", + srcs = ["src/sysinfo.cc"], + strip_include_prefix = "src", + deps = [ + ":check", + ":cycleclock", + ":internal_macros", + ":sleep", + ":string_util", + ] +) + +cc_library( + name = "timers", + hdrs = ["src/timers.h"], + srcs = ["src/timers.cc"], + strip_include_prefix = "src", + deps = [ + ":check", + ":internal_macros", + ":sleep", + ":string_util", + ] +) + +cc_test( + name = "basic_test", + srcs = ["test/basic_test.cc"], + deps = [":benchmark"], +) + +cc_test( + name = "benchmark_test", + srcs = ["test/benchmark_test.cc"], + deps = [":benchmark"], +) + +cc_test( + name = "complexity_test", + srcs = ["test/complexity_test.cc"], + deps = [ + ":benchmark", + ":output_test", + ], +) + +#cc_test( +# name = "cxx03_test", +# srcs = ["test/cxx03_test.cc"], +# deps = [":benchmark"], +#) + +cc_test( + name = "diagnostics_test", + srcs = ["test/diagnostics_test.cc"], + deps = [":benchmark"], +) + +cc_test( + name = "donotoptimize_test", + srcs = ["test/donotoptimize_test.cc"], + deps = [":benchmark"], +) + +cc_test( + name = "filter_test", + srcs = ["test/filter_test.cc"], + deps = [":benchmark"], +) + +cc_test( + name = "fixture_test", + srcs = ["test/fixture_test.cc"], + deps = [":benchmark"], +) + +cc_test( + name = "map_test", + srcs = ["test/map_test.cc"], + deps = [":benchmark"], +) + +cc_test( + name = "multiple_ranges_test", + srcs = ["test/multiple_ranges_test.cc"], + deps = [":benchmark"], +) + +cc_test( + name = "options_test", + srcs = ["test/options_test.cc"], + deps = [":benchmark"], +) + +cc_test( + name = "register_benchmark_test", + srcs = ["test/register_benchmark_test.cc"], + deps = [":benchmark"], +) + +cc_test( + name = "reporter_output_test", + srcs = ["test/reporter_output_test.cc"], + deps = [ + ":benchmark", + ":output_test", + ], +) + +cc_test( + name = "skip_with_error_test", + srcs = ["test/skip_with_error_test.cc"], + deps = [":benchmark"], +) + +cc_test( + name = "templated_fixture_test", + srcs = ["test/templated_fixture_test.cc"], + deps = [":benchmark"], +) + +cc_test( + name = "user_counters_tabular_test", + srcs = ["test/user_counters_tabular_test.cc"], + deps = [ + ":benchmark", + ":output_test", + ], +) + +cc_test( + name = "user_counters_test", + srcs = ["test/user_counters_test.cc"], + deps = [ + ":benchmark", + ":output_test", + ], +) + +cc_library( + name = "output_test", + hdrs = ["test/output_test.h"], + srcs = ["test/output_test_helper.cc"], + strip_include_prefix = "test", + deps = [ + ":benchmark_api_internal", + ":check", + ":re", + ], +) + + diff --git a/WORKSPACE b/WORKSPACE new file mode 100644 index 0000000000..a21e82349c --- /dev/null +++ b/WORKSPACE @@ -0,0 +1 @@ +workspace(name="com_google_benchmark") diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index baf21cbc7e..ff11117d95 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -3,6 +3,8 @@ find_package(Threads REQUIRED) include(CheckCXXCompilerFlag) +include_directories("../src") + # NOTE: Some tests use `` to perform the test. Therefore we must # strip -DNDEBUG from the default CMake flags in DEBUG mode. string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE) diff --git a/test/diagnostics_test.cc b/test/diagnostics_test.cc index dd64a33655..cde1431f84 100644 --- a/test/diagnostics_test.cc +++ b/test/diagnostics_test.cc @@ -10,7 +10,7 @@ #include #include -#include "../src/check.h" +#include "check.h" #include "benchmark/benchmark.h" #if defined(__GNUC__) && !defined(__EXCEPTIONS) diff --git a/test/output_test.h b/test/output_test.h index 897a13866b..b99f397788 100644 --- a/test/output_test.h +++ b/test/output_test.h @@ -10,7 +10,7 @@ #include #include -#include "../src/re.h" +#include "re.h" #include "benchmark/benchmark.h" #define CONCAT2(x, y) x##y diff --git a/test/output_test_helper.cc b/test/output_test_helper.cc index 24746f6d27..3d2d5c1741 100644 --- a/test/output_test_helper.cc +++ b/test/output_test_helper.cc @@ -4,10 +4,10 @@ #include #include -#include "../src/check.h" // NOTE: check.h is for internal use only! -#include "../src/re.h" // NOTE: re.h is for internal use only +#include "check.h" // NOTE: check.h is for internal use only! +#include "re.h" // NOTE: re.h is for internal use only #include "output_test.h" -#include "../src/benchmark_api_internal.h" +#include "benchmark_api_internal.h" // ========================================================================= // // ------------------------------ Internals -------------------------------- // diff --git a/test/register_benchmark_test.cc b/test/register_benchmark_test.cc index 8ab2c29939..c924490bc3 100644 --- a/test/register_benchmark_test.cc +++ b/test/register_benchmark_test.cc @@ -3,7 +3,7 @@ #include #include -#include "../src/check.h" // NOTE: check.h is for internal use only! +#include "check.h" // NOTE: check.h is for internal use only! #include "benchmark/benchmark.h" namespace { diff --git a/test/skip_with_error_test.cc b/test/skip_with_error_test.cc index 0c2f3481a8..9a47006f67 100644 --- a/test/skip_with_error_test.cc +++ b/test/skip_with_error_test.cc @@ -3,7 +3,7 @@ #include #include -#include "../src/check.h" // NOTE: check.h is for internal use only! +#include "check.h" // NOTE: check.h is for internal use only! #include "benchmark/benchmark.h" namespace {