CMakeLists.txt (3405B)
1 # Copyright 2022 The Abseil Authors. 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # https://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 15 # Internal-only target, do not depend on directly. 16 absl_cc_library( 17 NAME 18 crc_cpu_detect 19 HDRS 20 "internal/cpu_detect.h" 21 SRCS 22 "internal/cpu_detect.cc" 23 COPTS 24 ${ABSL_DEFAULT_COPTS} 25 DEPS 26 absl::base 27 absl::config 28 absl::optional 29 ) 30 31 # Internal-only target, do not depend on directly. 32 absl_cc_library( 33 NAME 34 crc_internal 35 HDRS 36 "internal/crc.h" 37 "internal/crc32_x86_arm_combined_simd.h" 38 SRCS 39 "internal/crc.cc" 40 "internal/crc_internal.h" 41 "internal/crc_x86_arm_combined.cc" 42 COPTS 43 ${ABSL_DEFAULT_COPTS} 44 DEPS 45 absl::crc_cpu_detect 46 absl::config 47 absl::core_headers 48 absl::endian 49 absl::prefetch 50 absl::raw_logging_internal 51 absl::memory 52 absl::bits 53 ) 54 55 absl_cc_library( 56 NAME 57 crc32c 58 HDRS 59 "crc32c.h" 60 "internal/crc32c.h" 61 "internal/crc_memcpy.h" 62 SRCS 63 "crc32c.cc" 64 "internal/crc32c_inline.h" 65 "internal/crc_memcpy_fallback.cc" 66 "internal/crc_memcpy_x86_arm_combined.cc" 67 "internal/crc_non_temporal_memcpy.cc" 68 COPTS 69 ${ABSL_DEFAULT_COPTS} 70 DEPS 71 absl::crc_cpu_detect 72 absl::crc_internal 73 absl::non_temporal_memcpy 74 absl::config 75 absl::core_headers 76 absl::endian 77 absl::prefetch 78 absl::str_format 79 absl::strings 80 ) 81 82 absl_cc_test( 83 NAME 84 crc32c_test 85 SRCS 86 "crc32c_test.cc" 87 COPTS 88 ${ABSL_DEFAULT_COPTS} 89 DEPS 90 absl::crc32c 91 absl::strings 92 absl::str_format 93 GTest::gtest_main 94 ) 95 96 # Internal-only target, do not depend on directly. 97 absl_cc_library( 98 NAME 99 non_temporal_arm_intrinsics 100 HDRS 101 "internal/non_temporal_arm_intrinsics.h" 102 COPTS 103 ${ABSL_DEFAULT_COPTS} 104 DEPS 105 absl::config 106 ) 107 108 # Internal-only target, do not depend on directly. 109 absl_cc_library( 110 NAME 111 non_temporal_memcpy 112 HDRS 113 "internal/non_temporal_memcpy.h" 114 COPTS 115 ${ABSL_DEFAULT_COPTS} 116 DEPS 117 absl::non_temporal_arm_intrinsics 118 absl::config 119 absl::core_headers 120 ) 121 122 absl_cc_test( 123 NAME 124 crc_memcpy_test 125 SRCS 126 "internal/crc_memcpy_test.cc" 127 COPTS 128 ${ABSL_DEFAULT_COPTS} 129 DEPS 130 absl::crc32c 131 absl::memory 132 absl::random_random 133 absl::random_distributions 134 absl::strings 135 GTest::gtest_main 136 ) 137 138 absl_cc_test( 139 NAME 140 non_temporal_memcpy_test 141 SRCS 142 "internal/non_temporal_memcpy_test.cc" 143 COPTS 144 ${ABSL_DEFAULT_COPTS} 145 DEPS 146 absl::non_temporal_memcpy 147 GTest::gtest_main 148 ) 149 150 absl_cc_library( 151 NAME 152 crc_cord_state 153 HDRS 154 "internal/crc_cord_state.h" 155 SRCS 156 "internal/crc_cord_state.cc" 157 COPTS 158 ${ABSL_DEFAULT_COPTS} 159 DEPS 160 absl::crc32c 161 absl::config 162 absl::strings 163 absl::no_destructor 164 ) 165 166 absl_cc_test( 167 NAME 168 crc_cord_state_test 169 SRCS 170 "internal/crc_cord_state_test.cc" 171 COPTS 172 ${ABSL_DEFAULT_COPTS} 173 DEPS 174 absl::crc_cord_state 175 absl::crc32c 176 GTest::gtest_main 177 )