tvl-depot/absl/debugging/CMakeLists.txt
Abseil Team c16d5557cd Export of internal Abseil changes.
--
4e043a11b4c10a24e84046827ee16f47e11e35cc by Abseil Team <absl-team@google.com>:

Merge of https://github.com/abseil/abseil-cpp/pull/136

PiperOrigin-RevId: 218197648

--
e61f06e1e601061a443feaa8c5207c52437bd641 by Abseil Team <absl-team@google.com>:

Don't include <iostream> into int128, it's wasteful

Including iostream emits a global constructor for initializing std::cout and
friends, which isn't actually used by this file.

PiperOrigin-RevId: 218156386

--
8a6c82396e4c956be7f285328aec131cb4965f16 by Xiaoyi Zhang <zhangxy@google.com>:

Fix MSVC compiler warnings on discarding return values of functions with 'nodiscard'
attribute.

PiperOrigin-RevId: 217883401

--
abf3e3a0f22bc4070df9dbc9a4ef4d883ed686bf by Tom Manshreck <shreck@google.com>:

Update public README to add new libraries

PiperOrigin-RevId: 217879399

--
43b3b420a4e861711abbfbd497b8f2b3de17ec8c by Abseil Team <absl-team@google.com>:

Import of CCTZ from GitHub.

PiperOrigin-RevId: 217780963

--
1c8831947ca6a65a63842e6bd5f37a7c102a4e1b by Abseil Team <absl-team@google.com>:

Fix typo in a comment (missing comma in usage example).

PiperOrigin-RevId: 217776645
GitOrigin-RevId: 4e043a11b4c10a24e84046827ee16f47e11e35cc
Change-Id: I8999ae928da7a0030b4ecfd8d13da8522fdd013a
2018-10-22 15:01:16 -04:00

217 lines
4.1 KiB
CMake

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