• 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::city
29    absl::config
30    absl::core_headers
31    absl::endian
32    absl::fixed_array
33    absl::function_ref
34    absl::meta
35    absl::int128
36    absl::strings
37    absl::optional
38    absl::variant
39    absl::utility
40    absl::low_level_hash
41  PUBLIC
42)
43
44absl_cc_library(
45  NAME
46    hash_testing
47  HDRS
48    "hash_testing.h"
49  COPTS
50    ${ABSL_TEST_COPTS}
51  DEPS
52    absl::spy_hash_state
53    absl::meta
54    absl::strings
55    absl::variant
56    GTest::gmock
57  TESTONLY
58  PUBLIC
59)
60
61absl_cc_test(
62  NAME
63    hash_test
64  SRCS
65    "hash_test.cc"
66  COPTS
67    ${ABSL_TEST_COPTS}
68  DEPS
69    absl::cord_test_helpers
70    absl::hash
71    absl::hash_testing
72    absl::core_headers
73    absl::btree
74    absl::flat_hash_map
75    absl::flat_hash_set
76    absl::node_hash_map
77    absl::node_hash_set
78    absl::spy_hash_state
79    absl::meta
80    absl::int128
81    GTest::gmock_main
82)
83
84# Internal-only target, do not depend on directly.
85#
86# Note: Even though external code should not depend on this target
87# directly, it must be marked PUBLIC since it is a dependency of
88# hash_testing.
89absl_cc_library(
90  NAME
91    spy_hash_state
92  HDRS
93    "internal/spy_hash_state.h"
94  COPTS
95    ${ABSL_DEFAULT_COPTS}
96  DEPS
97    absl::hash
98    absl::strings
99    absl::str_format
100  TESTONLY
101  PUBLIC
102)
103
104# Internal-only target, do not depend on directly.
105absl_cc_library(
106  NAME
107    city
108  HDRS
109    "internal/city.h"
110  SRCS
111    "internal/city.cc"
112  COPTS
113    ${ABSL_DEFAULT_COPTS}
114  DEPS
115    absl::config
116    absl::core_headers
117    absl::endian
118)
119
120absl_cc_test(
121  NAME
122    city_test
123  SRCS
124    "internal/city_test.cc"
125  COPTS
126    ${ABSL_TEST_COPTS}
127  DEPS
128    absl::city
129    GTest::gmock_main
130)
131
132# Internal-only target, do not depend on directly.
133absl_cc_library(
134  NAME
135    low_level_hash
136  HDRS
137    "internal/low_level_hash.h"
138  SRCS
139    "internal/low_level_hash.cc"
140  COPTS
141    ${ABSL_DEFAULT_COPTS}
142  DEPS
143    absl::bits
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