| include_directories(..) |
| |
| set(LSAN_CFLAGS ${SANITIZER_COMMON_CFLAGS}) |
| append_rtti_flag(OFF LSAN_CFLAGS) |
| |
| set(LSAN_COMMON_SOURCES |
| lsan_common.cc |
| lsan_common_linux.cc) |
| |
| set(LSAN_SOURCES |
| lsan.cc |
| lsan_allocator.cc |
| lsan_interceptors.cc |
| lsan_preinit.cc |
| lsan_thread.cc) |
| |
| set(LSAN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}) |
| |
| add_custom_target(lsan) |
| set_target_properties(lsan PROPERTIES FOLDER "Compiler-RT Misc") |
| |
| add_compiler_rt_object_libraries(RTLSanCommon |
| OS ${SANITIZER_COMMON_SUPPORTED_OS} |
| ARCHS ${LSAN_COMMON_SUPPORTED_ARCH} |
| SOURCES ${LSAN_COMMON_SOURCES} |
| CFLAGS ${LSAN_CFLAGS}) |
| |
| if(COMPILER_RT_HAS_LSAN) |
| foreach(arch ${LSAN_SUPPORTED_ARCH}) |
| add_compiler_rt_runtime(clang_rt.lsan |
| STATIC |
| ARCHS ${arch} |
| SOURCES ${LSAN_SOURCES} |
| $<TARGET_OBJECTS:RTInterception.${arch}> |
| $<TARGET_OBJECTS:RTSanitizerCommon.${arch}> |
| $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}> |
| $<TARGET_OBJECTS:RTLSanCommon.${arch}> |
| CFLAGS ${LSAN_CFLAGS} |
| PARENT_TARGET lsan) |
| endforeach() |
| endif() |
| |
| add_dependencies(compiler-rt lsan) |