Revision 6764a8b3cc58aad2f86c46413ba426a12ead8b2f authored by Wenqing Wang on 21 July 2021, 12:08:26 UTC, committed by Wenqing Wang on 21 July 2021, 15:13:09 UTC
1 parent 7c48749
Raw File
GCCSanitizer.cmake
option(OGS_ADDRESS_SANITIZER OFF "Use GCCs AddressSanitizer")
option(OGS_UNDEFINED_BEHAVIOR_SANITIZER OFF
       "Use GCCs UndefinedBehaviorSanitizer"
)

if(OGS_ADDRESS_SANITIZER)
    set(SANITIZE_FLAG_VALUE "address")
    set(ADDITIONAL_FLAGS "-fno-omit-frame-pointer")
endif()

if(OGS_UNDEFINED_BEHAVIOR_SANITIZER)
    set(SANITIZE_FLAG_VALUE
        "${SANITIZE_FLAG_VALUE},undefined,unreachable,integer-divide-by-zero,vla-bound,bounds,null"
    )
endif()

if(DEFINED SANITIZE_FLAG_VALUE)
    add_compile_options(-fsanitize=${SANITIZE_FLAG_VALUE} ${ADDITIONAL_FLAGS})
    link_libraries(-fsanitize=${SANITIZE_FLAG_VALUE} ${ADDITIONAL_FLAGS})
endif()
back to top