blob: 20e40932165c011e26c2499730735f2c53ccac37 [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}
Pirama Arumuga Nainar799172d2016-03-03 15:50:30 -080023 ARCHS ${LSAN_COMMON_SUPPORTED_ARCH}
Pirama Arumuga Nainarcdce50b2015-07-01 12:26:56 -070024 SOURCES ${LSAN_COMMON_SOURCES}
25 CFLAGS ${LSAN_CFLAGS})
Sergey Matveev9bdf7802013-05-21 14:12:11 +000026
Pirama Arumuga Nainar799172d2016-03-03 15:50:30 -080027if(COMPILER_RT_HAS_LSAN)
Sergey Matveev9bdf7802013-05-21 14:12:11 +000028 foreach(arch ${LSAN_SUPPORTED_ARCH})
Pirama Arumuga Nainar799172d2016-03-03 15:50:30 -080029 add_compiler_rt_runtime(clang_rt.lsan
30 STATIC
31 ARCHS ${arch}
Sergey Matveev9bdf7802013-05-21 14:12:11 +000032 SOURCES ${LSAN_SOURCES}
33 $<TARGET_OBJECTS:RTInterception.${arch}>
34 $<TARGET_OBJECTS:RTSanitizerCommon.${arch}>
35 $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}>
36 $<TARGET_OBJECTS:RTLSanCommon.${arch}>
Pirama Arumuga Nainar799172d2016-03-03 15:50:30 -080037 CFLAGS ${LSAN_CFLAGS}
38 PARENT_TARGET lsan)
Sergey Matveev9bdf7802013-05-21 14:12:11 +000039 endforeach()
Alexey Samsonov74799ca2013-05-20 14:16:45 +000040endif()
Sergey Matveevf484ff32013-05-20 11:13:33 +000041
Stephen Hines2d1fdb22014-05-28 23:58:16 -070042add_dependencies(compiler-rt lsan)