diff options
Diffstat (limited to 'extern/draco/dracoenc/cmake/sanitizers.cmake')
-rw-r--r-- | extern/draco/dracoenc/cmake/sanitizers.cmake | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/extern/draco/dracoenc/cmake/sanitizers.cmake b/extern/draco/dracoenc/cmake/sanitizers.cmake new file mode 100644 index 00000000000..e966cd85d52 --- /dev/null +++ b/extern/draco/dracoenc/cmake/sanitizers.cmake @@ -0,0 +1,19 @@ +if (NOT DRACO_CMAKE_SANITIZERS_CMAKE_) +set(DRACO_CMAKE_SANITIZERS_CMAKE_ 1) + +if (MSVC OR NOT SANITIZE) + return () +endif () + +include("${draco_root}/cmake/compiler_flags.cmake") + +string(TOLOWER ${SANITIZE} SANITIZE) + +# Require the sanitizer requested. +require_linker_flag("-fsanitize=${SANITIZE}") +require_compiler_flag("-fsanitize=${SANITIZE}" YES) + +# Make callstacks accurate. +require_compiler_flag("-fno-omit-frame-pointer -fno-optimize-sibling-calls" YES) + +endif() # DRACO_CMAKE_SANITIZERS_CMAKE_ |