[client] add support for compiling with UndefinedBehaviorSanitizer

This commit is contained in:
Tudor Brindus 2021-01-14 01:23:06 -05:00 committed by Geoffrey McRae
parent a46a3a2668
commit 5538a31f6b

View File

@ -33,6 +33,9 @@ add_feature_info(ENABLE_BACKTRACE ENABLE_BACKTRACE "Backtrace support.")
option(ENABLE_ASAN "Build with AddressSanitizer" OFF) option(ENABLE_ASAN "Build with AddressSanitizer" OFF)
add_feature_info(ENABLE_ASAN ENABLE_ASAN "AddressSanitizer support.") add_feature_info(ENABLE_ASAN ENABLE_ASAN "AddressSanitizer support.")
option(ENABLE_UBSAN "Build with UndefinedBehaviorSanitizer" OFF)
add_feature_info(ENABLE_UBSAN ENABLE_UBSAN "UndefinedBehaviorSanitizer support.")
option(ENABLE_WAYLAND "Build with Wayland support" ON) option(ENABLE_WAYLAND "Build with Wayland support" ON)
add_feature_info(ENABLE_WAYLAND ENABLE_WAYLAND "Wayland support.") add_feature_info(ENABLE_WAYLAND ENABLE_WAYLAND "Wayland support.")
@ -54,6 +57,11 @@ if(ENABLE_ASAN)
set(EXE_FLAGS "${EXE_FLAGS} -fno-omit-frame-pointer -fsanitize=address") set(EXE_FLAGS "${EXE_FLAGS} -fno-omit-frame-pointer -fsanitize=address")
endif() endif()
if(ENABLE_UBSAN)
add_compile_options("-fsanitize=undefined")
set(EXE_FLAGS "${EXE_FLAGS} -fsanitize=undefined")
endif()
find_package(PkgConfig) find_package(PkgConfig)
pkg_check_modules(PKGCONFIG REQUIRED pkg_check_modules(PKGCONFIG REQUIRED
sdl2 sdl2