]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/googletest/BUILD.bazel
sysctl(9): Fix a few mandoc related issues
[FreeBSD/FreeBSD.git] / contrib / googletest / BUILD.bazel
1 # Copyright 2017 Google Inc.
2 # All Rights Reserved.
3 #
4 #
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions are
7 # met:
8 #
9 #     * Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer.
11 #     * Redistributions in binary form must reproduce the above
12 # copyright notice, this list of conditions and the following disclaimer
13 # in the documentation and/or other materials provided with the
14 # distribution.
15 #     * Neither the name of Google Inc. nor the names of its
16 # contributors may be used to endorse or promote products derived from
17 # this software without specific prior written permission.
18 #
19 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 #
31 # Author: misterg@google.com (Gennadiy Civil)
32 #
33 #   Bazel Build for Google C++ Testing Framework(Google Test)
34
35 package(default_visibility = ["//visibility:public"])
36
37 licenses(["notice"])
38
39 config_setting(
40     name = "windows",
41     values = {"cpu": "x64_windows"},
42 )
43
44 config_setting(
45     name = "windows_msvc",
46     values = {"cpu": "x64_windows_msvc"},
47 )
48
49 config_setting(
50     name = "has_absl",
51     values = {"define": "absl=1"},
52 )
53
54 # Google Test including Google Mock
55 cc_library(
56     name = "gtest",
57     srcs = glob(
58         include = [
59             "googletest/src/*.cc",
60             "googletest/src/*.h",
61             "googletest/include/gtest/**/*.h",
62             "googlemock/src/*.cc",
63             "googlemock/include/gmock/**/*.h",
64         ],
65         exclude = [
66             "googletest/src/gtest-all.cc",
67             "googletest/src/gtest_main.cc",
68             "googlemock/src/gmock-all.cc",
69             "googlemock/src/gmock_main.cc",
70         ],
71     ),
72     hdrs = glob([
73         "googletest/include/gtest/*.h",
74         "googlemock/include/gmock/*.h",
75     ]),
76     copts = select(
77         {
78             ":windows": [],
79             ":windows_msvc": [],
80             "//conditions:default": ["-pthread"],
81         },
82     ),
83     defines = select(
84         {
85             ":has_absl": [
86                 "GTEST_HAS_ABSL=1",
87             ],
88             "//conditions:default": [],
89         },
90     ),
91     includes = [
92         "googlemock",
93         "googlemock/include",
94         "googletest",
95         "googletest/include",
96     ],
97     linkopts = select({
98         ":windows": [],
99         ":windows_msvc": [],
100         "//conditions:default": [
101             "-pthread",
102         ],
103     }),
104     deps = select(
105         {
106             ":has_absl": [
107                 "@com_google_absl//absl/debugging:failure_signal_handler",
108                 "@com_google_absl//absl/debugging:stacktrace",
109                 "@com_google_absl//absl/debugging:symbolize",
110                 "@com_google_absl//absl/strings",
111                 "@com_google_absl//absl/types:optional",
112                 "@com_google_absl//absl/types:variant",
113             ],
114             "//conditions:default": [],
115         },
116     ),
117 )
118
119 cc_library(
120     name = "gtest_main",
121     srcs = [
122         "googlemock/src/gmock_main.cc",
123     ],
124     deps = [":gtest"],
125 )
126
127 # The following rules build samples of how to use gTest.
128 cc_library(
129     name = "gtest_sample_lib",
130     srcs = [
131         "googletest/samples/sample1.cc",
132         "googletest/samples/sample2.cc",
133         "googletest/samples/sample4.cc",
134     ],
135     hdrs = [
136         "googletest/samples/prime_tables.h",
137         "googletest/samples/sample1.h",
138         "googletest/samples/sample2.h",
139         "googletest/samples/sample3-inl.h",
140         "googletest/samples/sample4.h",
141     ],
142 )
143
144 cc_test(
145     name = "gtest_samples",
146     size = "small",
147     #All Samples except:
148     #sample9 ( main )
149     #sample10 (main and takes a command line option and needs to be separate)
150     srcs = [
151         "googletest/samples/sample1_unittest.cc",
152         "googletest/samples/sample2_unittest.cc",
153         "googletest/samples/sample3_unittest.cc",
154         "googletest/samples/sample4_unittest.cc",
155         "googletest/samples/sample5_unittest.cc",
156         "googletest/samples/sample6_unittest.cc",
157         "googletest/samples/sample7_unittest.cc",
158         "googletest/samples/sample8_unittest.cc",
159     ],
160     deps = [
161         "gtest_sample_lib",
162         ":gtest_main",
163     ],
164 )
165
166 cc_test(
167     name = "sample9_unittest",
168     size = "small",
169     srcs = ["googletest/samples/sample9_unittest.cc"],
170     deps = [":gtest"],
171 )
172
173 cc_test(
174     name = "sample10_unittest",
175     size = "small",
176     srcs = ["googletest/samples/sample10_unittest.cc"],
177     deps = [
178         ":gtest",
179     ],
180 )