licenses(["notice"]) config_setting( name = "qnx", constraint_values = ["@platforms//os:qnx"], values = { "cpu": "x64_qnx", }, visibility = [":__subpackages__"], ) config_setting( name = "windows", constraint_values = ["@platforms//os:windows"], values = { "cpu": "x64_windows", }, visibility = [":__subpackages__"], ) cc_library( name = "benchmark", srcs = glob( [ "src/*.cc", "src/*.h", ], exclude = ["src/benchmark_main.cc"], ), hdrs = [ "include/benchmark/benchmark.h", "include/benchmark/export.h", # From generate_export_header ], linkopts = select({ ":windows": ["-DEFAULTLIB:shlwapi.lib"], "//conditions:default": ["-pthread"], }), strip_include_prefix = "include", visibility = ["//visibility:public"], # Only static linking is allowed; no .so will be produced. # Using `defines` (i.e. not `local_defines`) means that no # dependent rules need to bother about defining the macro. linkstatic = True, defines = ["BENCHMARK_STATIC_DEFINE"], ) cc_library( name = "benchmark_main", srcs = ["src/benchmark_main.cc"], hdrs = ["include/benchmark/benchmark.h"], strip_include_prefix = "include", visibility = ["//visibility:public"], deps = [":benchmark"], ) cc_library( name = "benchmark_internal_headers", hdrs = glob(["src/*.h"]), visibility = ["//test:__pkg__"], )