blob: d87e9ddb8a26c95e849fbbee3ef5f209dd7bb569 [file] [log] [blame]
Sergey Matveevf484ff32013-05-20 11:13:33 +00001include_directories(..)
2
Stephen Hines2d1fdb22014-05-28 23:58:16 -07003set(LSAN_CFLAGS ${SANITIZER_COMMON_CFLAGS})
4append_no_rtti_flag(LSAN_CFLAGS)
Sergey Matveevf484ff32013-05-20 11:13:33 +00005
Sergey Matveev9bdf7802013-05-21 14:12:11 +00006set(LSAN_COMMON_SOURCES
7 lsan_common.cc
8 lsan_common_linux.cc)
9
Sergey Matveevf484ff32013-05-20 11:13:33 +000010set(LSAN_SOURCES
Sergey Matveev74c88792013-11-25 17:39:36 +000011 lsan.cc
Sergey Matveevf484ff32013-05-20 11:13:33 +000012 lsan_allocator.cc
Sergey Matveev74c88792013-11-25 17:39:36 +000013 lsan_interceptors.cc
14 lsan_preinit.cc
15 lsan_thread.cc)
Sergey Matveevf484ff32013-05-20 11:13:33 +000016
17set(LSAN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR})
18
Stephen Hines2d1fdb22014-05-28 23:58:16 -070019add_custom_target(lsan)
Alexey Samsonov74799ca2013-05-20 14:16:45 +000020
Pirama Arumuga Nainarcdce50b2015-07-01 12:26:56 -070021add_compiler_rt_object_libraries(RTLSanCommon
22 OS ${SANITIZER_COMMON_SUPPORTED_OS}
23 ARCH ${LSAN_COMMON_SUPPORTED_ARCH}
24 SOURCES ${LSAN_COMMON_SOURCES}
25 CFLAGS ${LSAN_CFLAGS})
Sergey Matveev9bdf7802013-05-21 14:12:11 +000026
Pirama Arumuga Nainarcdce50b2015-07-01 12:26:56 -070027if(NOT APPLE)
Sergey Matveev9bdf7802013-05-21 14:12:11 +000028 foreach(arch ${LSAN_SUPPORTED_ARCH})
Stephen Hines2d1fdb22014-05-28 23:58:16 -070029 add_compiler_rt_runtime(clang_rt.lsan-${arch} ${arch} STATIC
Sergey Matveev9bdf7802013-05-21 14:12:11 +000030 SOURCES ${LSAN_SOURCES}
31 $<TARGET_OBJECTS:RTInterception.${arch}>
32 $<TARGET_OBJECTS:RTSanitizerCommon.${arch}>
33 $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}>
34 $<TARGET_OBJECTS:RTLSanCommon.${arch}>
35 CFLAGS ${LSAN_CFLAGS})
Stephen Hines2d1fdb22014-05-28 23:58:16 -070036 add_dependencies(lsan clang_rt.lsan-${arch})
Sergey Matveev9bdf7802013-05-21 14:12:11 +000037 endforeach()
Alexey Samsonov74799ca2013-05-20 14:16:45 +000038endif()
Sergey Matveevf484ff32013-05-20 11:13:33 +000039
Stephen Hines2d1fdb22014-05-28 23:58:16 -070040add_dependencies(compiler-rt lsan)