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