# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("buildconfig.gni")

if (enable_google_benchmarks) {
  config("benchmark_config") {
    include_dirs = [ "src/include" ]
  }

  source_set("google_benchmark") {
    testonly = true

    public = [ "src/include/benchmark/benchmark.h" ]

    sources = [
      "src/src/arraysize.h",
      "src/src/benchmark.cc",
      "src/src/benchmark_api_internal.cc",
      "src/src/benchmark_api_internal.h",
      "src/src/benchmark_name.cc",
      "src/src/benchmark_register.cc",
      "src/src/benchmark_register.h",
      "src/src/benchmark_runner.cc",
      "src/src/benchmark_runner.h",
      "src/src/check.h",
      "src/src/colorprint.cc",
      "src/src/colorprint.h",
      "src/src/commandlineflags.cc",
      "src/src/commandlineflags.h",
      "src/src/complexity.cc",
      "src/src/complexity.h",
      "src/src/console_reporter.cc",
      "src/src/counter.cc",
      "src/src/counter.h",
      "src/src/csv_reporter.cc",
      "src/src/cycleclock.h",
      "src/src/internal_macros.h",
      "src/src/json_reporter.cc",
      "src/src/log.h",
      "src/src/mutex.h",
      "src/src/perf_counters.cc",
      "src/src/perf_counters.h",
      "src/src/re.h",
      "src/src/reporter.cc",
      "src/src/sleep.cc",
      "src/src/sleep.h",
      "src/src/statistics.cc",
      "src/src/statistics.h",
      "src/src/string_util.cc",
      "src/src/string_util.h",
      "src/src/sysinfo.cc",
      "src/src/thread_manager.h",
      "src/src/thread_timer.h",
      "src/src/timers.cc",
      "src/src/timers.h",
    ]

    all_dependent_configs = [ ":benchmark_config" ]

    configs -= [ "//build/config/compiler:chromium_code" ]
    configs += [ "//build/config/compiler:no_chromium_code" ]

    defines = [
      # Tell gtest to always use standard regular expressions.
      "HAVE_GNU_POSIX_REGEX=0",
      "HAVE_POSIX_REGEX=0",
      "HAVE_STD_REGEX=1",
    ]
  }

  source_set("benchmark_main") {
    testonly = true
    sources = [ "src/src/benchmark_main.cc" ]
    deps = [ ":google_benchmark" ]
  }
}