summaryrefslogtreecommitdiffstats
path: root/BUILD.bazel
diff options
context:
space:
mode:
Diffstat (limited to 'BUILD.bazel')
-rw-r--r--BUILD.bazel292
1 files changed, 292 insertions, 0 deletions
diff --git a/BUILD.bazel b/BUILD.bazel
new file mode 100644
index 0000000..50a6aca
--- /dev/null
+++ b/BUILD.bazel
@@ -0,0 +1,292 @@
+package(default_visibility = ["//visibility:public"])
+
+licenses(["notice"])
+
+config_setting(
+ name = "win",
+ values = {"cpu": "x64_windows_msvc"},
+)
+
+cc_library(
+ name = "gmock",
+ srcs = glob(
+ include = [
+ "googlemock/src/*.cc",
+ "googlemock/include/gmock/**/*.h",
+ ],
+ exclude = [
+ "googlemock/src/gmock-all.cc",
+ ],
+ ),
+ hdrs = glob([
+ "googlemock/include/gmock/*.h",
+ ]),
+ includes = [
+ "googlemock",
+ "googlemock/include",
+ ],
+ linkopts = select({
+ ":win": [],
+ "//conditions:default": ["-pthread"],
+ }),
+ deps = [
+ ":gtest",
+ ],
+)
+
+cc_library(
+ name = "gtest",
+ srcs = glob(
+ include = [
+ "googletest/src/*.cc",
+ "googletest/src/*.h",
+ "googletest/include/gtest/**/*.h",
+ ],
+ exclude = [
+ "googletest/src/gtest-all.cc",
+ "googletest/src/gtest_main.cc",
+ ],
+ ),
+ hdrs = glob([
+ "googletest/include/gtest/*.h",
+ ]),
+ copts = select(
+ {
+ ":win": [],
+ "//conditions:default": ["-pthread"],
+ },
+ ),
+ includes = [
+ "googletest",
+ "googletest/include",
+ ],
+ linkopts = select({
+ ":win": [],
+ "//conditions:default": [
+ "-pthread",
+ ],
+ }),
+)
+
+cc_library(
+ name = "gtest_main",
+ srcs = glob(
+ include = [
+ "googletest/src/gtest_main.cc",
+ ],
+ ),
+ hdrs = glob([
+ "googletest/include/gtest/*.h",
+ "googletest/include/gtest/**/*.h",
+ ]),
+ includes = [
+ "googletest",
+ "googletest/include",
+ ],
+ deps = [":gmock"],
+)
+
+"""googletest own tests """
+
+#on windows exclude gtest-tuple.h and gtest-tuple_test.cc
+filegroup(
+ name = "win_only_test_files",
+ srcs = glob(
+ include = [
+ "googletest/test/gtest-*.cc",
+ "googletest/test/*.h",
+ "googletest/include/gtest/**/*.h",
+ ],
+ exclude = [
+ "googletest/src/gtest-unittest-api_test.cc",
+ "googletest/include/gtest/internal/gtest-tuple.h",
+ "googletest/test/gtest-tuple_test.cc",
+ "googletest/src/gtest-all.cc",
+ "googletest/test/gtest_all_test.cc",
+ "googletest/test/gtest-death-test_ex_test.cc",
+ "googletest/test/gtest-listener_test.cc",
+ "googletest/test/gtest-unittest-api_test.cc",
+ "googletest/test/gtest-param-test_test.cc",
+ ],
+ ),
+)
+
+filegroup(
+ name = "default_test_files",
+ srcs = glob(
+ include = [
+ "googletest/test/gtest-*.cc",
+ "googletest/test/*.h",
+ "googletest/include/gtest/**/*.h",
+ ],
+ exclude = [
+ "googletest/src/gtest-unittest-api_test.cc",
+ "googletest/src/gtest-all.cc",
+ "googletest/test/gtest_all_test.cc",
+ "googletest/test/gtest-death-test_ex_test.cc",
+ "googletest/test/gtest-listener_test.cc",
+ "googletest/test/gtest-unittest-api_test.cc",
+ "googletest/test/gtest-param-test_test.cc",
+ ],
+ ),
+)
+
+cc_test(
+ name = "gtest_all_test",
+ size = "small",
+ srcs = select({
+ ":win": [":win_only_test_files"],
+ "//conditions:default": [":default_test_files"],
+ }),
+ copts = select({
+ ":win": ["-DGTEST_USE_OWN_TR1_TUPLE=0"],
+ "//conditions:default": ["-DGTEST_USE_OWN_TR1_TUPLE=1"],
+ }),
+ includes = [
+ "googletest",
+ "googletest/include",
+ "googletest/include/internal",
+ "googletest/test",
+ ],
+ linkopts = select({
+ ":win": [],
+ "//conditions:default": [
+ "-pthread",
+ ],
+ }),
+ deps = [":gtest_main"],
+)
+
+""" these googletest tests have their own main()"""
+
+cc_test(
+ name = "gtest-death-test",
+ size = "small",
+ srcs = [
+ "googletest/test/gtest-death-test_ex_test.cc",
+ ],
+ copts = [
+ "-DGTEST_ENABLE_CATCH_EXCEPTIONS_=1",
+ ],
+ deps = [
+ ":gtest_main",
+ ],
+)
+
+cc_test(
+ name = "gtest-listener_test",
+ size = "small",
+ srcs = [
+ "googletest/test/gtest-listener_test.cc",
+ ],
+ deps = [
+ ":gtest_main",
+ ],
+)
+
+cc_test(
+ name = "gtest-unittest-api_test",
+ size = "small",
+ srcs = [
+ "googletest/test/gtest-unittest-api_test.cc",
+ ],
+ deps = [
+ ":gtest_main",
+ ],
+)
+
+cc_test(
+ name = "gtest-param-test_test",
+ size = "small",
+ srcs = [
+ "googletest/test/gtest-param-test2_test.cc",
+ "googletest/test/gtest-param-test_test.cc",
+ "googletest/test/gtest-param-test_test.h",
+ ],
+ deps = [
+ ":gtest_main",
+ ],
+)
+
+""" googletest samples"""
+
+cc_library(
+ name = "googletest_sample_lib",
+ srcs = [
+ "googletest/samples/sample1.cc",
+ "googletest/samples/sample2.cc",
+ "googletest/samples/sample4.cc",
+ ],
+ hdrs = [
+ "googletest/samples/prime_tables.h",
+ "googletest/samples/sample1.h",
+ "googletest/samples/sample2.h",
+ "googletest/samples/sample3-inl.h",
+ "googletest/samples/sample4.h",
+ ],
+ deps = ["gtest"],
+)
+
+cc_test(
+ name = "googletest_samples",
+ size = "small",
+ srcs = glob(
+ include = [
+ "googletest/samples/sample*.cc",
+ "googletest/samples/sample*.h",
+ ],
+ exclude = [
+ "googletest/samples/sample1.cc",
+ "googletest/samples/sample2.cc",
+ "googletest/samples/sample4.cc",
+ "googletest/samples/prime_tables.h",
+ "googletest/samples/sample1.h",
+ "googletest/samples/sample2.h",
+ "googletest/samples/sample3-inl.h",
+ "googletest/samples/sample4.h",
+ "googletest/samples/sample9_unittest.cc",
+ "googletest/samples/sample10_unittest.cc",
+ ],
+ ),
+ includes = [
+ "googletest/samples",
+ ],
+ deps = [
+ ":googletest_sample_lib",
+ ":gtest_main",
+ ],
+)
+
+""" googletest samples 9 and 10 have their own main()"""
+
+cc_test(
+ name = "googletest_sample9",
+ size = "small",
+ srcs = glob(
+ include = [
+ "googletest/samples/sample9_unittest.cc",
+ ],
+ ),
+ includes = [
+ "googletest/samples",
+ ],
+ deps = [
+ ":gtest",
+ ],
+)
+
+cc_test(
+ name = "googletest_sample10",
+ size = "small",
+ srcs = glob(
+ include = [
+ "googletest/samples/sample10_unittest.cc",
+ ],
+ ),
+ includes = [
+ "googletest/samples",
+ ],
+ deps = [
+ ":gtest",
+ ],
+)