mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-04-09 23:06:47 +03:00
fix(build): correctly disable sanitizers in zig build script when WHOA_UB_SAN is false or release mode is not debug
This commit is contained in:
parent
1b4f1dba86
commit
b93c615368
@ -52,7 +52,7 @@ else()
|
||||
endif()
|
||||
if (WHOA_BUILD_GLSDL)
|
||||
add_definitions(-DWHOA_BUILD_GLSDL)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# FMOD
|
||||
option(WHOA_BUILD_FMOD "Disable/Enable the use of the FMOD sound API. This introduces a dependency on a proprietary FMOD dynamically linked library." 0)
|
||||
@ -67,6 +67,8 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined")
|
||||
# Allow strange alignments
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-sanitize=alignment")
|
||||
# Make encountering UB an unrecoverable error
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-sanitize-recover=all")
|
||||
else()
|
||||
# Disable UBsan completely
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-sanitize=undefined")
|
||||
|
@ -111,9 +111,11 @@ pub fn build(b: *std.Build) void {
|
||||
if (ub_san) {
|
||||
// Disable UBsan alignment checks only
|
||||
whoa_compiler_flags_list.append("-fno-sanitize=alignment") catch {};
|
||||
whoa_compiler_flags_list.append("-fno-sanitize=float-cast-overflow") catch {};
|
||||
whoa_compiler_flags_list.append("-fno-sanitize=signed-integer-overflow") catch {};
|
||||
} else {
|
||||
// Disable UBsan
|
||||
whoa_compiler_flags_list.append("-fsanitize=undefined") catch {};
|
||||
whoa_compiler_flags_list.append("-fno-sanitize=all") catch {};
|
||||
}
|
||||
|
||||
var build_gll = false;
|
||||
|
Loading…
Reference in New Issue
Block a user