blob: 9c58f81eb0210007763fa4de71790c7b9e22d103 [file] [log] [blame]
misterg88150872017-08-08 15:17:56 -04001# 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#
mistergf63e2a12017-08-01 14:36:29 -04007package(default_visibility = ["//visibility:public"])
8
9licenses(["notice"])
10
misterg88150872017-08-08 15:17:56 -040011# gtest public API.
12GTEST_HDRS = \
13 glob([
14 "googletest/include/gtest/*.h",
mistergac885f32017-08-09 11:47:54 -040015 "googlemock/include/gmock/*.h",
misterg88150872017-08-08 15:17:56 -040016 ])
17
18config_setting(
19 name = "win",
20 values = {"cpu": "x64_windows_msvc"},
21)
22
23# Google Test
mistergf63e2a12017-08-01 14:36:29 -040024cc_library(
25 name = "gtest",
26 srcs = glob(
27 include = [
28 "googletest/src/*.cc",
29 "googletest/src/*.h",
30 "googletest/include/gtest/**/*.h",
mistergac885f32017-08-09 11:47:54 -040031 "googlemock/src/*.cc",
32 "googlemock/include/gmock/**/*.h",
mistergf63e2a12017-08-01 14:36:29 -040033 ],
34 exclude = [
35 "googletest/src/gtest-all.cc",
36 "googletest/src/gtest_main.cc",
mistergac885f32017-08-09 11:47:54 -040037 "googlemock/src/gmock-all.cc",
mistergf63e2a12017-08-01 14:36:29 -040038 ],
39 ),
misterg88150872017-08-08 15:17:56 -040040 hdrs = GTEST_HDRS,
mistergf63e2a12017-08-01 14:36:29 -040041 copts = select(
42 {
43 ":win": [],
44 "//conditions:default": ["-pthread"],
45 },
46 ),
47 includes = [
mistergac885f32017-08-09 11:47:54 -040048 "googlemock",
49 "googlemock/include",
misterg88150872017-08-08 15:17:56 -040050 "googletest",
51 "googletest/include",
52 ],
53 linkopts = select({
54 ":win": [],
55 "//conditions:default": [
56 "-pthread",
57 ],
58 }),
59)
60
mistergf63e2a12017-08-01 14:36:29 -040061cc_library(
62 name = "gtest_main",
mistergac885f32017-08-09 11:47:54 -040063 srcs = [
64 "googletest/src/gtest_main.cc",
65 ],
mistergf63e2a12017-08-01 14:36:29 -040066 includes = [
67 "googletest",
68 "googletest/include",
69 ],
misterg88150872017-08-08 15:17:56 -040070 deps = ["//:gtest"],
mistergf63e2a12017-08-01 14:36:29 -040071)
72
misterg6615f7d2017-08-02 14:36:39 -040073# The following rules build samples of how to use gTest.
mistergf63e2a12017-08-01 14:36:29 -040074cc_library(
mistergb3edada2017-08-01 14:50:59 -040075 name = "gtest_sample_lib",
mistergf63e2a12017-08-01 14:36:29 -040076 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 ],
mistergf63e2a12017-08-01 14:36:29 -040088)
89
90cc_test(
mistergb3edada2017-08-01 14:50:59 -040091 name = "gtest_samples",
mistergf63e2a12017-08-01 14:36:29 -040092 size = "small",
misterg88150872017-08-08 15:17:56 -040093 #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 ],
mistergf63e2a12017-08-01 14:36:29 -0400106 deps = [
mistergaa31cb62017-08-02 15:40:14 -0400107 "gtest_sample_lib",
mistergb3edada2017-08-01 14:50:59 -0400108 ":gtest_main",
mistergf63e2a12017-08-01 14:36:29 -0400109 ],
110)
111
112cc_test(
mistergaa31cb62017-08-02 15:40:14 -0400113 name = "sample9_unittest",
mistergf63e2a12017-08-01 14:36:29 -0400114 size = "small",
mistergaa31cb62017-08-02 15:40:14 -0400115 srcs = ["googletest/samples/sample9_unittest.cc"],
misterg88150872017-08-08 15:17:56 -0400116 deps = [":gtest"],
mistergaa31cb62017-08-02 15:40:14 -0400117)
118
119cc_test(
120 name = "sample10_unittest",
121 size = "small",
122 srcs = ["googletest/samples/sample10_unittest.cc"],
mistergf63e2a12017-08-01 14:36:29 -0400123 deps = [
misterg88150872017-08-08 15:17:56 -0400124 ":gtest",
mistergf63e2a12017-08-01 14:36:29 -0400125 ],
126)