Files
clang-p2996/compiler-rt/lib/stats/CMakeLists.txt
Emily Shi 919ca9fc04 [compiler-rt] separate lsan, ubsan, stats configuration from SANITIZER_COMMON_SUPPORTED_OS
Currently, SANITIZER_COMMON_SUPPORTED_OS is being used to enable many libraries.
Unfortunately this makes it impossible to selectively disable a library based on the OS.
This patch removes this limitation by adding a separate list of supported OSs for the lsan, ubsan, ubsan_minimal, and stats libraries.

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D113444
2021-11-10 19:16:20 -08:00

46 lines
1.2 KiB
CMake

set(STATS_HEADERS
stats.h)
include_directories(..)
add_custom_target(stats)
set_target_properties(stats PROPERTIES FOLDER "Compiler-RT Misc")
if(APPLE)
set(STATS_LIB_FLAVOR SHARED)
set(STATS_LINK_LIBS ${SANITIZER_COMMON_LINK_LIBS})
add_weak_symbols("asan" WEAK_SYMBOL_LINK_FLAGS)
add_weak_symbols("ubsan" WEAK_SYMBOL_LINK_FLAGS)
add_weak_symbols("sanitizer_common" WEAK_SYMBOL_LINK_FLAGS)
else()
set(STATS_LIB_FLAVOR STATIC)
set(WEAK_SYMBOL_LINK_FLAGS)
endif()
add_compiler_rt_runtime(clang_rt.stats
${STATS_LIB_FLAVOR}
ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
OS ${STATS_SUPPORTED_OS}
SOURCES stats.cpp
ADDITIONAL_HEADERS ${STATS_HEADERS}
OBJECT_LIBS RTSanitizerCommon
RTSanitizerCommonLibc
RTSanitizerCommonSymbolizer
CFLAGS ${SANITIZER_COMMON_CFLAGS}
LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS} ${WEAK_SYMBOL_LINK_FLAGS}
LINK_LIBS ${STATS_LINK_LIBS}
PARENT_TARGET stats)
add_compiler_rt_runtime(clang_rt.stats_client
STATIC
ARCHS ${SANITIZER_COMMON_SUPPORTED_ARCH}
OS ${STATS_SUPPORTED_OS}
SOURCES stats_client.cpp
ADDITIONAL_HEADERS ${STATS_HEADERS}
CFLAGS ${SANITIZER_COMMON_CFLAGS}
LINK_FLAGS ${WEAK_SYMBOL_LINK_FLAGS}
PARENT_TARGET stats)