misterg | 8815087 | 2017-08-08 15:17:56 -0400 | [diff] [blame] | 1 | # Copyright 2017 Google Inc. All Rights Reserved. |
| 2 | # Author: misterg@google.com (Gennadiy Civil) |
| 3 | # |
| 4 | # Description: |
| 5 | # Bazel BUILD file for googletest, initial revision |
| 6 | # |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 7 | package(default_visibility = ["//visibility:public"]) |
| 8 | |
| 9 | licenses(["notice"]) |
| 10 | |
misterg | 8815087 | 2017-08-08 15:17:56 -0400 | [diff] [blame] | 11 | # gtest public API. |
| 12 | GTEST_HDRS = \ |
| 13 | glob([ |
| 14 | "googletest/include/gtest/*.h", |
misterg | ac885f3 | 2017-08-09 11:47:54 -0400 | [diff] [blame^] | 15 | "googlemock/include/gmock/*.h", |
misterg | 8815087 | 2017-08-08 15:17:56 -0400 | [diff] [blame] | 16 | ]) |
| 17 | |
| 18 | config_setting( |
| 19 | name = "win", |
| 20 | values = {"cpu": "x64_windows_msvc"}, |
| 21 | ) |
| 22 | |
| 23 | # Google Test |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 24 | cc_library( |
| 25 | name = "gtest", |
| 26 | srcs = glob( |
| 27 | include = [ |
| 28 | "googletest/src/*.cc", |
| 29 | "googletest/src/*.h", |
| 30 | "googletest/include/gtest/**/*.h", |
misterg | ac885f3 | 2017-08-09 11:47:54 -0400 | [diff] [blame^] | 31 | "googlemock/src/*.cc", |
| 32 | "googlemock/include/gmock/**/*.h", |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 33 | ], |
| 34 | exclude = [ |
| 35 | "googletest/src/gtest-all.cc", |
| 36 | "googletest/src/gtest_main.cc", |
misterg | ac885f3 | 2017-08-09 11:47:54 -0400 | [diff] [blame^] | 37 | "googlemock/src/gmock-all.cc", |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 38 | ], |
| 39 | ), |
misterg | 8815087 | 2017-08-08 15:17:56 -0400 | [diff] [blame] | 40 | hdrs = GTEST_HDRS, |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 41 | copts = select( |
| 42 | { |
| 43 | ":win": [], |
| 44 | "//conditions:default": ["-pthread"], |
| 45 | }, |
| 46 | ), |
| 47 | includes = [ |
misterg | ac885f3 | 2017-08-09 11:47:54 -0400 | [diff] [blame^] | 48 | "googlemock", |
| 49 | "googlemock/include", |
misterg | 8815087 | 2017-08-08 15:17:56 -0400 | [diff] [blame] | 50 | "googletest", |
| 51 | "googletest/include", |
| 52 | ], |
| 53 | linkopts = select({ |
| 54 | ":win": [], |
| 55 | "//conditions:default": [ |
| 56 | "-pthread", |
| 57 | ], |
| 58 | }), |
| 59 | ) |
| 60 | |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 61 | cc_library( |
| 62 | name = "gtest_main", |
misterg | ac885f3 | 2017-08-09 11:47:54 -0400 | [diff] [blame^] | 63 | srcs = [ |
| 64 | "googletest/src/gtest_main.cc", |
| 65 | ], |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 66 | includes = [ |
| 67 | "googletest", |
| 68 | "googletest/include", |
| 69 | ], |
misterg | 8815087 | 2017-08-08 15:17:56 -0400 | [diff] [blame] | 70 | deps = ["//:gtest"], |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 71 | ) |
| 72 | |
misterg | 6615f7d | 2017-08-02 14:36:39 -0400 | [diff] [blame] | 73 | # The following rules build samples of how to use gTest. |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 74 | cc_library( |
misterg | b3edada | 2017-08-01 14:50:59 -0400 | [diff] [blame] | 75 | name = "gtest_sample_lib", |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 76 | srcs = [ |
| 77 | "googletest/samples/sample1.cc", |
| 78 | "googletest/samples/sample2.cc", |
| 79 | "googletest/samples/sample4.cc", |
| 80 | ], |
| 81 | hdrs = [ |
| 82 | "googletest/samples/prime_tables.h", |
| 83 | "googletest/samples/sample1.h", |
| 84 | "googletest/samples/sample2.h", |
| 85 | "googletest/samples/sample3-inl.h", |
| 86 | "googletest/samples/sample4.h", |
| 87 | ], |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 88 | ) |
| 89 | |
| 90 | cc_test( |
misterg | b3edada | 2017-08-01 14:50:59 -0400 | [diff] [blame] | 91 | name = "gtest_samples", |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 92 | size = "small", |
misterg | 8815087 | 2017-08-08 15:17:56 -0400 | [diff] [blame] | 93 | #All Samples except: |
| 94 | #sample9 ( main ) |
| 95 | #sample10 (main and takes a command line option and needs to be separate) |
| 96 | srcs = [ |
| 97 | "googletest/samples/sample1_unittest.cc", |
| 98 | "googletest/samples/sample2_unittest.cc", |
| 99 | "googletest/samples/sample3_unittest.cc", |
| 100 | "googletest/samples/sample4_unittest.cc", |
| 101 | "googletest/samples/sample5_unittest.cc", |
| 102 | "googletest/samples/sample6_unittest.cc", |
| 103 | "googletest/samples/sample7_unittest.cc", |
| 104 | "googletest/samples/sample8_unittest.cc", |
| 105 | ], |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 106 | deps = [ |
misterg | aa31cb6 | 2017-08-02 15:40:14 -0400 | [diff] [blame] | 107 | "gtest_sample_lib", |
misterg | b3edada | 2017-08-01 14:50:59 -0400 | [diff] [blame] | 108 | ":gtest_main", |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 109 | ], |
| 110 | ) |
| 111 | |
| 112 | cc_test( |
misterg | aa31cb6 | 2017-08-02 15:40:14 -0400 | [diff] [blame] | 113 | name = "sample9_unittest", |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 114 | size = "small", |
misterg | aa31cb6 | 2017-08-02 15:40:14 -0400 | [diff] [blame] | 115 | srcs = ["googletest/samples/sample9_unittest.cc"], |
misterg | 8815087 | 2017-08-08 15:17:56 -0400 | [diff] [blame] | 116 | deps = [":gtest"], |
misterg | aa31cb6 | 2017-08-02 15:40:14 -0400 | [diff] [blame] | 117 | ) |
| 118 | |
| 119 | cc_test( |
| 120 | name = "sample10_unittest", |
| 121 | size = "small", |
| 122 | srcs = ["googletest/samples/sample10_unittest.cc"], |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 123 | deps = [ |
misterg | 8815087 | 2017-08-08 15:17:56 -0400 | [diff] [blame] | 124 | ":gtest", |
misterg | f63e2a1 | 2017-08-01 14:36:29 -0400 | [diff] [blame] | 125 | ], |
| 126 | ) |