| # |
| # 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 |
| ) |