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