• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright 2018 The Abseil Authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      https://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17absl_cc_library(
18  NAME
19    hash
20  HDRS
21    "hash.h"
22  SRCS
23    "internal/hash.cc"
24    "internal/hash.h"
25  COPTS
26    ${ABSL_DEFAULT_COPTS}
27  DEPS
28    absl::bits
29    absl::city
30    absl::config
31    absl::core_headers
32    absl::endian
33    absl::fixed_array
34    absl::function_ref
35    absl::meta
36    absl::int128
37    absl::strings
38    absl::optional
39    absl::variant
40    absl::utility
41    absl::low_level_hash
42  PUBLIC
43)
44
45absl_cc_library(
46  NAME
47    hash_testing
48  HDRS
49    "hash_testing.h"
50  COPTS
51    ${ABSL_TEST_COPTS}
52  DEPS
53    absl::spy_hash_state
54    absl::meta
55    absl::strings
56    absl::variant
57    GTest::gmock
58  TESTONLY
59  PUBLIC
60)
61
62absl_cc_test(
63  NAME
64    hash_test
65  SRCS
66    "hash_test.cc"
67  COPTS
68    ${ABSL_TEST_COPTS}
69  DEPS
70    absl::cord_test_helpers
71    absl::hash
72    absl::hash_testing
73    absl::core_headers
74    absl::btree
75    absl::flat_hash_map
76    absl::flat_hash_set
77    absl::node_hash_map
78    absl::node_hash_set
79    absl::spy_hash_state
80    absl::meta
81    absl::int128
82    GTest::gmock_main
83)
84
85# Internal-only target, do not depend on directly.
86#
87# Note: Even though external code should not depend on this target
88# directly, it must be marked PUBLIC since it is a dependency of
89# hash_testing.
90absl_cc_library(
91  NAME
92    spy_hash_state
93  HDRS
94    "internal/spy_hash_state.h"
95  COPTS
96    ${ABSL_DEFAULT_COPTS}
97  DEPS
98    absl::hash
99    absl::strings
100    absl::str_format
101  TESTONLY
102  PUBLIC
103)
104
105# Internal-only target, do not depend on directly.
106absl_cc_library(
107  NAME
108    city
109  HDRS
110    "internal/city.h"
111  SRCS
112    "internal/city.cc"
113  COPTS
114    ${ABSL_DEFAULT_COPTS}
115  DEPS
116    absl::config
117    absl::core_headers
118    absl::endian
119)
120
121absl_cc_test(
122  NAME
123    city_test
124  SRCS
125    "internal/city_test.cc"
126  COPTS
127    ${ABSL_TEST_COPTS}
128  DEPS
129    absl::city
130    GTest::gmock_main
131)
132
133# Internal-only target, do not depend on directly.
134absl_cc_library(
135  NAME
136    low_level_hash
137  HDRS
138    "internal/low_level_hash.h"
139  SRCS
140    "internal/low_level_hash.cc"
141  COPTS
142    ${ABSL_DEFAULT_COPTS}
143  DEPS
144    absl::config
145    absl::endian
146    absl::int128
147)
148
149absl_cc_test(
150  NAME
151    low_level_hash_test
152  SRCS
153    "internal/low_level_hash_test.cc"
154  COPTS
155    ${ABSL_TEST_COPTS}
156  DEPS
157    absl::low_level_hash
158    absl::strings
159    GTest::gmock_main
160)
161