Add ASan, TSan support
This commit is contained in:
parent
d567afbc3f
commit
578761a277
1 changed files with 18 additions and 1 deletions
|
@ -7,9 +7,11 @@ set (CPACK_PACKAGE_VERSION_PATCH "0")
|
|||
|
||||
set (RAIBLOCKS_GUI OFF CACHE BOOL "")
|
||||
set (RAIBLOCKS_TEST OFF CACHE BOOL "")
|
||||
|
||||
option(RAIBLOCKS_ASAN_INT "Enable ASan+UBSan+Integer overflow" OFF)
|
||||
option(RAIBLOCKS_ASAN "Enable ASan+UBSan" OFF)
|
||||
option(RAIBLOCKS_SIMD_OPTIMIZATIONS "Enable CPU-specific SIMD optimizations (SSE/AVX or NEON, e.g.)" ON)
|
||||
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
||||
endif(NOT CMAKE_BUILD_TYPE)
|
||||
|
@ -19,6 +21,14 @@ if (WIN32)
|
|||
set (BLAKE2_IMPLEMENTATION "blake2/blake2b.c")
|
||||
else (WIN32)
|
||||
set (PLATFORM_COMPILE_FLAGS "-DBOOST_SPIRIT_THREADSAFE -Werror=switch -fPIC")
|
||||
if (RAIBLOCKS_ASAN)
|
||||
set (PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -fsanitize=address,undefined -DED25519_NO_INLINE_ASM")
|
||||
elseif (RAIBLOCKS_ASAN_INT)
|
||||
set (PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -fsanitize=address,undefined,integer -DED25519_NO_INLINE_ASM")
|
||||
elseif (RAIBLOCKS_TSAN)
|
||||
set (PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -fsanitize=thread -DED25519_NO_INLINE_ASM")
|
||||
endif()
|
||||
|
||||
IF (CMAKE_SYSTEM_PROCESSOR MATCHES "^(i.86|x86(_64)?)$")
|
||||
if (RAIBLOCKS_SIMD_OPTIMIZATIONS)
|
||||
set (PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -msse4")
|
||||
|
@ -62,6 +72,13 @@ elseif (WIN32)
|
|||
set (PLATFORM_LINK_FLAGS "")
|
||||
else ()
|
||||
set (PLATFORM_LINK_FLAGS "-static-libgcc -static-libstdc++")
|
||||
if (RAIBLOCKS_ASAN)
|
||||
set (PLATFORM_LINK_FLAGS "${PLATFORM_LINK_FLAGS} -fsanitize=address,undefined")
|
||||
elseif (RAIBLOCKS_ASAN_INT)
|
||||
set (PLATFORM_LINK_FLAGS "${PLATFORM_LINK_FLAGS} -fsanitize=address,undefined,integer")
|
||||
elseif (RAIBLOCKS_TSAN)
|
||||
set (PLATFORM_LINK_FLAGS "${PLATFORM_LINK_FLAGS} -fsanitize=thread")
|
||||
endif()
|
||||
endif (APPLE)
|
||||
|
||||
if (RAIBLOCKS_GUI)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue