CMakeLists.txt (5404B)
1 # 2 # Copyright 2017 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 17 # Internal-only target, do not depend on directly. 18 absl_cc_library( 19 NAME 20 graphcycles_internal 21 HDRS 22 "internal/graphcycles.h" 23 SRCS 24 "internal/graphcycles.cc" 25 COPTS 26 ${ABSL_DEFAULT_COPTS} 27 DEPS 28 absl::base 29 absl::base_internal 30 absl::config 31 absl::core_headers 32 absl::malloc_internal 33 absl::raw_logging_internal 34 ) 35 36 # Internal-only target, do not depend on directly. 37 absl_cc_library( 38 NAME 39 kernel_timeout_internal 40 HDRS 41 "internal/kernel_timeout.h" 42 SRCS 43 "internal/kernel_timeout.cc" 44 COPTS 45 ${ABSL_DEFAULT_COPTS} 46 DEPS 47 absl::base 48 absl::config 49 absl::core_headers 50 absl::raw_logging_internal 51 absl::time 52 ) 53 54 absl_cc_test( 55 NAME 56 kernel_timeout_internal_test 57 SRCS 58 "internal/kernel_timeout_test.cc" 59 COPTS 60 ${ABSL_TEST_COPTS} 61 DEPS 62 absl::kernel_timeout_internal 63 absl::config 64 absl::random_random 65 absl::time 66 GTest::gmock_main 67 ) 68 69 absl_cc_library( 70 NAME 71 synchronization 72 HDRS 73 "barrier.h" 74 "blocking_counter.h" 75 "internal/create_thread_identity.h" 76 "internal/futex.h" 77 "internal/futex_waiter.h" 78 "internal/per_thread_sem.h" 79 "internal/pthread_waiter.h" 80 "internal/sem_waiter.h" 81 "internal/stdcpp_waiter.h" 82 "internal/waiter.h" 83 "internal/waiter_base.h" 84 "internal/win32_waiter.h" 85 "mutex.h" 86 "notification.h" 87 SRCS 88 "barrier.cc" 89 "blocking_counter.cc" 90 "internal/create_thread_identity.cc" 91 "internal/futex_waiter.cc" 92 "internal/per_thread_sem.cc" 93 "internal/pthread_waiter.cc" 94 "internal/sem_waiter.cc" 95 "internal/stdcpp_waiter.cc" 96 "internal/waiter_base.cc" 97 "internal/win32_waiter.cc" 98 "notification.cc" 99 "mutex.cc" 100 COPTS 101 ${ABSL_DEFAULT_COPTS} 102 DEPS 103 absl::graphcycles_internal 104 absl::kernel_timeout_internal 105 absl::atomic_hook 106 absl::base 107 absl::base_internal 108 absl::config 109 absl::core_headers 110 absl::dynamic_annotations 111 absl::malloc_internal 112 absl::nullability 113 absl::raw_logging_internal 114 absl::stacktrace 115 absl::symbolize 116 absl::tracing_internal 117 absl::time 118 absl::tracing_internal 119 Threads::Threads 120 PUBLIC 121 ) 122 123 absl_cc_test( 124 NAME 125 barrier_test 126 SRCS 127 "barrier_test.cc" 128 COPTS 129 ${ABSL_TEST_COPTS} 130 DEPS 131 absl::synchronization 132 absl::time 133 GTest::gmock_main 134 ) 135 136 absl_cc_test( 137 NAME 138 blocking_counter_test 139 SRCS 140 "blocking_counter_test.cc" 141 COPTS 142 ${ABSL_TEST_COPTS} 143 DEPS 144 absl::synchronization 145 absl::time 146 absl::tracing_internal 147 GTest::gmock_main 148 ) 149 150 absl_cc_test( 151 NAME 152 graphcycles_test 153 SRCS 154 "internal/graphcycles_test.cc" 155 COPTS 156 ${ABSL_TEST_COPTS} 157 DEPS 158 absl::check 159 absl::core_headers 160 absl::graphcycles_internal 161 absl::log 162 GTest::gmock_main 163 ) 164 165 # Internal-only target, do not depend on directly. 166 absl_cc_library( 167 NAME 168 thread_pool 169 HDRS 170 "internal/thread_pool.h" 171 COPTS 172 ${ABSL_DEFAULT_COPTS} 173 DEPS 174 absl::any_invocable 175 absl::core_headers 176 absl::synchronization 177 TESTONLY 178 ) 179 180 absl_cc_test( 181 NAME 182 mutex_test 183 SRCS 184 "mutex_test.cc" 185 COPTS 186 ${ABSL_TEST_COPTS} 187 DEPS 188 absl::synchronization 189 absl::thread_pool 190 absl::base 191 absl::check 192 absl::config 193 absl::core_headers 194 absl::log 195 absl::memory 196 absl::time 197 GTest::gmock_main 198 ) 199 200 absl_cc_test( 201 NAME 202 mutex_method_pointer_test 203 SRCS 204 "mutex_method_pointer_test.cc" 205 COPTS 206 ${ABSL_TEST_COPTS} 207 DEPS 208 absl::base 209 absl::config 210 absl::synchronization 211 GTest::gmock_main 212 ) 213 214 absl_cc_test( 215 NAME 216 notification_test 217 SRCS 218 "notification_test.cc" 219 COPTS 220 ${ABSL_TEST_COPTS} 221 DEPS 222 absl::base 223 absl::config 224 absl::core_headers 225 absl::synchronization 226 absl::time 227 absl::tracing_internal 228 GTest::gmock_main 229 ) 230 231 # Internal-only target, do not depend on directly. 232 absl_cc_library( 233 NAME 234 per_thread_sem_test_common 235 SRCS 236 "internal/per_thread_sem_test.cc" 237 COPTS 238 ${ABSL_TEST_COPTS} 239 DEPS 240 absl::synchronization 241 absl::base 242 absl::config 243 absl::strings 244 absl::time 245 GTest::gmock 246 TESTONLY 247 ) 248 249 absl_cc_test( 250 NAME 251 per_thread_sem_test 252 SRCS 253 "internal/per_thread_sem_test.cc" 254 COPTS 255 ${ABSL_TEST_COPTS} 256 DEPS 257 absl::per_thread_sem_test_common 258 absl::synchronization 259 absl::strings 260 absl::time 261 GTest::gmock_main 262 ) 263 264 absl_cc_test( 265 NAME 266 waiter_test 267 SRCS 268 "internal/waiter_test.cc" 269 COPTS 270 ${ABSL_TEST_COPTS} 271 DEPS 272 absl::config 273 absl::kernel_timeout_internal 274 absl::random_random 275 absl::synchronization 276 absl::thread_pool 277 absl::time 278 GTest::gmock_main 279 ) 280 281 absl_cc_test( 282 NAME 283 lifetime_test 284 SRCS 285 "lifetime_test.cc" 286 COPTS 287 ${ABSL_TEST_COPTS} 288 DEPS 289 absl::synchronization 290 absl::core_headers 291 absl::check 292 )