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"], ) """gtest 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 = "gtest_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 = "gtest_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 = [ ":gtest_sample_lib", ":gtest_main", ], ) """ googletest samples 9 and 10 have their own main()""" cc_test( name = "gtest_sample9", size = "small", srcs = glob( include = [ "googletest/samples/sample9_unittest.cc", ], ), includes = [ "googletest/samples", ], deps = [ ":gtest_main", ], ) cc_test( name = "gtest_sample10", size = "small", srcs = glob( include = [ "googletest/samples/sample10_unittest.cc", ], ), includes = [ "googletest/samples", ], deps = [ ":gtest_main", ], )