# Build for the EfficiencySanitizer runtime support library. add_custom_target(esan) set_target_properties(esan PROPERTIES FOLDER "Compiler-RT Misc") set(ESAN_RTL_CFLAGS ${SANITIZER_COMMON_CFLAGS}) append_rtti_flag(OFF ESAN_RTL_CFLAGS) include_directories(..) set(ESAN_SOURCES esan.cpp esan_flags.cpp esan_interface.cpp esan_interceptors.cpp esan_linux.cpp esan_sideline_linux.cpp cache_frag.cpp working_set.cpp working_set_posix.cpp) foreach (arch ${ESAN_SUPPORTED_ARCH}) add_compiler_rt_runtime(clang_rt.esan STATIC ARCHS ${arch} SOURCES ${ESAN_SOURCES} $<TARGET_OBJECTS:RTInterception.${arch}> $<TARGET_OBJECTS:RTSanitizerCommon.${arch}> $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}> CFLAGS ${ESAN_RTL_CFLAGS}) add_sanitizer_rt_symbols(clang_rt.esan ARCHS ${arch} EXTRA esan.syms.extra) add_dependencies(esan clang_rt.esan-${arch} clang_rt.esan-${arch}-symbols) endforeach() add_dependencies(compiler-rt esan) if (COMPILER_RT_INCLUDE_TESTS) # TODO(bruening): add tests via add_subdirectory(tests) endif()