# # Copyright 2017 The Abseil Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # list(APPEND DEBUGGING_PUBLIC_HEADERS "failure_signal_handler.h" "leak_check.h" "stacktrace.h" "symbolize.h" ) # TODO(cohenjon) The below is all kinds of wrong. Make this match what we do in # Bazel list(APPEND DEBUGGING_INTERNAL_HEADERS "internal/address_is_readable.h" "internal/demangle.h" "internal/elf_mem_image.h" "internal/examine_stack.h" "internal/stacktrace_config.h" "internal/symbolize.h" "internal/vdso_support.h" ) list(APPEND DEBUGGING_INTERNAL_SRC "internal/address_is_readable.cc" "internal/elf_mem_image.cc" "internal/vdso_support.cc" ) list(APPEND STACKTRACE_SRC "stacktrace.cc" ${DEBUGGING_INTERNAL_SRC} ${DEBUGGING_PUBLIC_HEADERS} ${DEBUGGING_INTERNAL_HEADERS} ) list(APPEND SYMBOLIZE_SRC "symbolize.cc" "symbolize_elf.inc" "symbolize_unimplemented.inc" "symbolize_win32.inc" "internal/demangle.cc" ${DEBUGGING_PUBLIC_HEADERS} ${DEBUGGING_INTERNAL_HEADERS} ${DEBUGGING_INTERNAL_SRC} ) list(APPEND FAILURE_SIGNAL_HANDLER_SRC "failure_signal_handler.cc" ${DEBUGGING_PUBLIC_HEADERS} ) list(APPEND EXAMINE_STACK_SRC "internal/examine_stack.cc" ${DEBUGGING_PUBLIC_HEADERS} ${DEBUGGING_INTERNAL_HEADERS} ) absl_library( TARGET absl_stacktrace SOURCES ${STACKTRACE_SRC} EXPORT_NAME stacktrace ) absl_library( TARGET absl_symbolize SOURCES ${SYMBOLIZE_SRC} PUBLIC_LIBRARIES absl::base absl_malloc_internal EXPORT_NAME symbolize ) absl_library( TARGET absl_failure_signal_handler SOURCES ${FAILURE_SIGNAL_HANDLER_SRC} PUBLIC_LIBRARIES absl_base absl::examine_stack absl::stacktrace absl_synchronization EXPORT_NAME failure_signal_handler ) # Internal-only. Projects external to Abseil should not depend # directly on this library. absl_library( TARGET absl_examine_stack SOURCES ${EXAMINE_STACK_SRC} EXPORT_NAME examine_stack ) list(APPEND LEAK_CHECK_SRC "leak_check.cc" ) # leak_check library absl_library( TARGET absl_leak_check SOURCES ${LEAK_CHECK_SRC} PUBLIC_LIBRARIES absl_base EXPORT_NAME leak_check ) # component target absl_header_library( TARGET absl_debugging PUBLIC_LIBRARIES absl_stacktrace absl_leak_check EXPORT_NAME debugging ) # ## TESTS # list(APPEND STACK_CONSUMPTION_SRC "internal/stack_consumption.cc" "internal/stack_consumption.h" ) absl_library( TARGET absl_stack_consumption SOURCES ${STACK_CONSUMPTION_SRC} ) absl_test( TARGET absl_stack_consumption_test SOURCES "internal/stack_consumption_test.cc" PUBLIC_LIBRARIES absl_stack_consumption absl::base ) list(APPEND DEMANGLE_TEST_SRC "internal/demangle_test.cc") absl_test( TARGET demangle_test SOURCES ${DEMANGLE_TEST_SRC} PUBLIC_LIBRARIES absl_symbolize absl_stack_consumption ) list(APPEND SYMBOLIZE_TEST_SRC "symbolize_test.cc") absl_test( TARGET symbolize_test SOURCES ${SYMBOLIZE_TEST_SRC} PUBLIC_LIBRARIES absl::base absl::memory absl_symbolize absl_stack_consumption ) list(APPEND FAILURE_SIGNAL_HANDLER_TEST_SRC "failure_signal_handler_test.cc") absl_test( TARGET failure_signal_handler_test SOURCES ${FAILURE_SIGNAL_HANDLER_TEST_SRC} PUBLIC_LIBRARIES absl_examine_stack absl_failure_signal_handler absl_stacktrace absl_symbolize absl::base absl::strings ) # test leak_check_test list(APPEND LEAK_CHECK_TEST_SRC "leak_check_test.cc") absl_test( TARGET leak_check_test SOURCES ${LEAK_CHECK_TEST_SRC} PUBLIC_LIBRARIES absl_leak_check )