diff options
Diffstat (limited to 'BUILD.bazel')
-rw-r--r-- | BUILD.bazel | 292 |
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", + ], +) |