CMakeLists.txt (7605B)
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 find_library(EXECINFO_LIBRARY execinfo) 18 19 absl_cc_library( 20 NAME 21 stacktrace 22 HDRS 23 "stacktrace.h" 24 "internal/stacktrace_aarch64-inl.inc" 25 "internal/stacktrace_arm-inl.inc" 26 "internal/stacktrace_config.h" 27 "internal/stacktrace_emscripten-inl.inc" 28 "internal/stacktrace_generic-inl.inc" 29 "internal/stacktrace_powerpc-inl.inc" 30 "internal/stacktrace_riscv-inl.inc" 31 "internal/stacktrace_unimplemented-inl.inc" 32 "internal/stacktrace_win32-inl.inc" 33 "internal/stacktrace_x86-inl.inc" 34 SRCS 35 "stacktrace.cc" 36 COPTS 37 ${ABSL_DEFAULT_COPTS} 38 LINKOPTS 39 $<$<BOOL:${EXECINFO_LIBRARY}>:${EXECINFO_LIBRARY}> 40 DEPS 41 absl::debugging_internal 42 absl::config 43 absl::core_headers 44 absl::dynamic_annotations 45 absl::raw_logging_internal 46 PUBLIC 47 ) 48 49 absl_cc_test( 50 NAME 51 stacktrace_test 52 SRCS 53 "stacktrace_test.cc" 54 COPTS 55 ${ABSL_TEST_COPTS} 56 DEPS 57 absl::stacktrace 58 absl::config 59 absl::core_headers 60 absl::span 61 GTest::gmock_main 62 ) 63 64 absl_cc_library( 65 NAME 66 symbolize 67 HDRS 68 "symbolize.h" 69 "internal/symbolize.h" 70 SRCS 71 "symbolize.cc" 72 "symbolize_darwin.inc" 73 "symbolize_elf.inc" 74 "symbolize_emscripten.inc" 75 "symbolize_unimplemented.inc" 76 "symbolize_win32.inc" 77 COPTS 78 ${ABSL_DEFAULT_COPTS} 79 LINKOPTS 80 ${ABSL_DEFAULT_LINKOPTS} 81 $<$<BOOL:${MINGW}>:-ldbghelp> 82 DEPS 83 absl::debugging_internal 84 absl::demangle_internal 85 absl::base 86 absl::config 87 absl::core_headers 88 absl::dynamic_annotations 89 absl::malloc_internal 90 absl::raw_logging_internal 91 absl::strings 92 PUBLIC 93 ) 94 95 absl_cc_test( 96 NAME 97 symbolize_test 98 SRCS 99 "symbolize_test.cc" 100 COPTS 101 ${ABSL_TEST_COPTS} 102 $<$<BOOL:${MSVC}>:-Z7> 103 LINKOPTS 104 $<$<BOOL:${MSVC}>:-DEBUG> 105 DEPS 106 absl::base 107 absl::check 108 absl::config 109 absl::core_headers 110 absl::log 111 absl::memory 112 absl::stack_consumption 113 absl::strings 114 absl::symbolize 115 GTest::gmock 116 ) 117 118 # Internal-only target, do not depend on directly. 119 absl_cc_library( 120 NAME 121 examine_stack 122 HDRS 123 "internal/examine_stack.h" 124 SRCS 125 "internal/examine_stack.cc" 126 COPTS 127 ${ABSL_DEFAULT_COPTS} 128 DEPS 129 absl::stacktrace 130 absl::symbolize 131 absl::config 132 absl::core_headers 133 absl::raw_logging_internal 134 ) 135 136 absl_cc_library( 137 NAME 138 failure_signal_handler 139 HDRS 140 "failure_signal_handler.h" 141 SRCS 142 "failure_signal_handler.cc" 143 COPTS 144 ${ABSL_DEFAULT_COPTS} 145 DEPS 146 absl::examine_stack 147 absl::stacktrace 148 absl::base 149 absl::config 150 absl::core_headers 151 absl::raw_logging_internal 152 PUBLIC 153 ) 154 155 absl_cc_test( 156 NAME 157 failure_signal_handler_test 158 SRCS 159 "failure_signal_handler_test.cc" 160 COPTS 161 ${ABSL_TEST_COPTS} 162 DEPS 163 absl::check 164 absl::failure_signal_handler 165 absl::stacktrace 166 absl::symbolize 167 absl::strings 168 absl::raw_logging_internal 169 Threads::Threads 170 GTest::gmock 171 ) 172 173 # Internal-only target, do not depend on directly. 174 absl_cc_library( 175 NAME 176 debugging_internal 177 HDRS 178 "internal/address_is_readable.h" 179 "internal/addresses.h" 180 "internal/elf_mem_image.h" 181 "internal/vdso_support.h" 182 SRCS 183 "internal/address_is_readable.cc" 184 "internal/elf_mem_image.cc" 185 "internal/vdso_support.cc" 186 COPTS 187 ${ABSL_DEFAULT_COPTS} 188 DEPS 189 absl::core_headers 190 absl::config 191 absl::dynamic_annotations 192 absl::errno_saver 193 absl::raw_logging_internal 194 ) 195 196 # Internal-only target, do not depend on directly. 197 absl_cc_library( 198 NAME 199 demangle_internal 200 HDRS 201 "internal/demangle.h" 202 SRCS 203 "internal/demangle.cc" 204 COPTS 205 ${ABSL_DEFAULT_COPTS} 206 DEPS 207 absl::config 208 absl::demangle_rust 209 PUBLIC 210 ) 211 212 absl_cc_test( 213 NAME 214 demangle_test 215 SRCS 216 "internal/demangle_test.cc" 217 COPTS 218 ${ABSL_TEST_COPTS} 219 DEPS 220 absl::demangle_internal 221 absl::stack_consumption 222 absl::config 223 absl::core_headers 224 absl::log 225 absl::memory 226 GTest::gmock_main 227 ) 228 229 # Internal-only target, do not depend on directly. 230 absl_cc_library( 231 NAME 232 bounded_utf8_length_sequence 233 HDRS 234 "internal/bounded_utf8_length_sequence.h" 235 COPTS 236 ${ABSL_DEFAULT_COPTS} 237 DEPS 238 absl::bits 239 absl::config 240 ) 241 242 absl_cc_test( 243 NAME 244 bounded_utf8_length_sequence_test 245 SRCS 246 "internal/bounded_utf8_length_sequence_test.cc" 247 COPTS 248 ${ABSL_TEST_COPTS} 249 DEPS 250 absl::bounded_utf8_length_sequence 251 absl::config 252 GTest::gmock_main 253 ) 254 255 # Internal-only target, do not depend on directly. 256 absl_cc_library( 257 NAME 258 decode_rust_punycode 259 HDRS 260 "internal/decode_rust_punycode.h" 261 SRCS 262 "internal/decode_rust_punycode.cc" 263 COPTS 264 ${ABSL_DEFAULT_COPTS} 265 DEPS 266 absl::bounded_utf8_length_sequence 267 absl::config 268 absl::nullability 269 absl::utf8_for_code_point 270 ) 271 272 absl_cc_test( 273 NAME 274 decode_rust_punycode_test 275 SRCS 276 "internal/decode_rust_punycode_test.cc" 277 COPTS 278 ${ABSL_TEST_COPTS} 279 DEPS 280 absl::decode_rust_punycode 281 absl::config 282 GTest::gmock_main 283 ) 284 285 # Internal-only target, do not depend on directly. 286 absl_cc_library( 287 NAME 288 demangle_rust 289 HDRS 290 "internal/demangle_rust.h" 291 SRCS 292 "internal/demangle_rust.cc" 293 COPTS 294 ${ABSL_DEFAULT_COPTS} 295 DEPS 296 absl::config 297 absl::core_headers 298 absl::decode_rust_punycode 299 ) 300 301 absl_cc_test( 302 NAME 303 demangle_rust_test 304 SRCS 305 "internal/demangle_rust_test.cc" 306 COPTS 307 ${ABSL_TEST_COPTS} 308 DEPS 309 absl::demangle_rust 310 absl::config 311 GTest::gmock_main 312 ) 313 314 # Internal-only target, do not depend on directly. 315 absl_cc_library( 316 NAME 317 utf8_for_code_point 318 HDRS 319 "internal/utf8_for_code_point.h" 320 SRCS 321 "internal/utf8_for_code_point.cc" 322 COPTS 323 ${ABSL_DEFAULT_COPTS} 324 DEPS 325 absl::config 326 ) 327 328 absl_cc_test( 329 NAME 330 utf8_for_code_point_test 331 SRCS 332 "internal/utf8_for_code_point_test.cc" 333 COPTS 334 ${ABSL_TEST_COPTS} 335 DEPS 336 absl::utf8_for_code_point 337 absl::config 338 GTest::gmock_main 339 ) 340 341 absl_cc_library( 342 NAME 343 leak_check 344 HDRS 345 "leak_check.h" 346 SRCS 347 "leak_check.cc" 348 COPTS 349 ${ABSL_DEFAULT_COPTS} 350 DEPS 351 absl::config 352 absl::core_headers 353 PUBLIC 354 ) 355 356 absl_cc_test( 357 NAME 358 leak_check_test 359 SRCS 360 "leak_check_test.cc" 361 COPTS 362 ${ABSL_TEST_COPTS} 363 LINKOPTS 364 ${ABSL_DEFAULT_LINKOPTS} 365 DEPS 366 absl::leak_check 367 absl::base 368 absl::log 369 GTest::gmock_main 370 ) 371 372 # Internal-only target, do not depend on directly. 373 absl_cc_library( 374 NAME 375 stack_consumption 376 HDRS 377 "internal/stack_consumption.h" 378 SRCS 379 "internal/stack_consumption.cc" 380 COPTS 381 ${ABSL_DEFAULT_COPTS} 382 DEPS 383 absl::config 384 absl::core_headers 385 absl::raw_logging_internal 386 TESTONLY 387 ) 388 389 absl_cc_test( 390 NAME 391 stack_consumption_test 392 SRCS 393 "internal/stack_consumption_test.cc" 394 COPTS 395 ${ABSL_TEST_COPTS} 396 DEPS 397 absl::stack_consumption 398 absl::core_headers 399 absl::log 400 GTest::gmock_main 401 ) 402 403 # component target 404 absl_cc_library( 405 NAME 406 debugging 407 COPTS 408 ${ABSL_DEFAULT_COPTS} 409 DEPS 410 absl::stacktrace 411 absl::leak_check 412 PUBLIC 413 )