CMakeLists.txt revision eda8bd0fc07df35c9ad7de5b698bb717b063e7af
1# Build for the undefined behavior sanitizer runtime support library. 2 3set(UBSAN_SOURCES 4 ubsan_diag.cc 5 ubsan_handlers.cc 6 ubsan_handlers_cxx.cc 7 ubsan_type_hash.cc 8 ubsan_value.cc 9 ) 10 11include_directories(..) 12 13set(UBSAN_CFLAGS ${SANITIZER_COMMON_CFLAGS}) 14 15set(UBSAN_RUNTIME_LIBRARIES) 16 17if(CAN_TARGET_X86_64) 18 add_library(clang_rt.ubsan-x86_64 STATIC ${UBSAN_SOURCES}) 19 set_target_compile_flags(clang_rt.ubsan-x86_64 20 ${UBSAN_CFLAGS} ${TARGET_X86_64_CFLAGS} 21 ) 22 list(APPEND UBSAN_RUNTIME_LIBRARIES clang_rt.ubsan-x86_64) 23endif() 24 25if(CAN_TARGET_I386) 26 add_library(clang_rt.ubsan-i386 STATIC ${UBSAN_SOURCES}) 27 set_target_compile_flags(clang_rt.ubsan-i386 28 ${UBSAN_CFLAGS} ${TARGET_I386_CFLAGS} 29 ) 30 list(APPEND UBSAN_RUNTIME_LIBRARIES clang_rt.ubsan-i386) 31endif() 32 33set_property(TARGET ${UBSAN_RUNTIME_LIBRARIES} APPEND PROPERTY 34 COMPILE_DEFINITIONS ${UBSAN_COMMON_DEFINITIONS}) 35add_clang_compiler_rt_libraries(${UBSAN_RUNTIME_LIBRARIES}) 36 37add_subdirectory(lit_tests) 38