summaryrefslogtreecommitdiffstats
path: root/cmake/Modules
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2018-09-05 15:39:35 +0200
committerAndreas Schneider <asn@samba.org>2018-10-23 15:38:43 +0200
commitda17de1693abeb5f163ab6b6a85fcfceb1db68ce (patch)
treee5dce1d11b728c079d547c8dd3d2fd60fd3fc944 /cmake/Modules
parent402f548051549edb764184f901e83ee7ece06b29 (diff)
downloadsocket_wrapper-da17de1693abeb5f163ab6b6a85fcfceb1db68ce.tar.gz
socket_wrapper-da17de1693abeb5f163ab6b6a85fcfceb1db68ce.tar.xz
socket_wrapper-da17de1693abeb5f163ab6b6a85fcfceb1db68ce.zip
cmake: Add CFLAGS for AddressSanitizer and UndefinedSanitizer
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
Diffstat (limited to 'cmake/Modules')
-rw-r--r--cmake/Modules/DefineCompilerFlags.cmake24
1 files changed, 24 insertions, 0 deletions
diff --git a/cmake/Modules/DefineCompilerFlags.cmake b/cmake/Modules/DefineCompilerFlags.cmake
index 4edb6d9..3277b99 100644
--- a/cmake/Modules/DefineCompilerFlags.cmake
+++ b/cmake/Modules/DefineCompilerFlags.cmake
@@ -10,4 +10,28 @@ if (UNIX AND NOT WIN32)
CACHE STRING "Flags used by the linker during the creation of shared libraries during PROFILING builds.")
set(CMAKE_EXEC_LINKER_FLAGS_PROFILING "-fprofile-arcs -ftest-coverage"
CACHE STRING "Flags used by the linker during PROFILING builds.")
+
+ # Activate with: -DCMAKE_BUILD_TYPE=AddressSanitizer
+ set(CMAKE_C_FLAGS_ADDRESSSANITIZER "-g -O1 -fsanitize=address -fno-omit-frame-pointer"
+ CACHE STRING "Flags used by the C compiler during ADDRESSSANITIZER builds.")
+ set(CMAKE_CXX_FLAGS_ADDRESSSANITIZER "-g -O1 -fsanitize=address -fno-omit-frame-pointer"
+ CACHE STRING "Flags used by the CXX compiler during ADDRESSSANITIZER builds.")
+ set(CMAKE_SHARED_LINKER_FLAGS_ADDRESSSANITIZER "-fsanitize=address"
+ CACHE STRING "Flags used by the linker during the creation of shared libraries during ADDRESSSANITIZER builds.")
+ set(CMAKE_MODULE_LINKER_FLAGS_ADDRESSSANITIZER "-fsanitize=address"
+ CACHE STRING "Flags used by the linker during the creation of shared libraries during ADDRESSSANITIZER builds.")
+ set(CMAKE_EXEC_LINKER_FLAGS_ADDRESSSANITIZER "-fsanitize=address"
+ CACHE STRING "Flags used by the linker during ADDRESSSANITIZER builds.")
+
+ # Activate with: -DCMAKE_BUILD_TYPE=UndefinedSanitizer
+ set(CMAKE_C_FLAGS_UNDEFINEDSANITIZER "-g -O1 -fsanitize=undefined -fsanitize=null -fsanitize=alignment -fno-sanitize-recover"
+ CACHE STRING "Flags used by the C compiler during UNDEFINEDSANITIZER builds.")
+ set(CMAKE_CXX_FLAGS_UNDEFINEDSANITIZER "-g -O1 -fsanitize=undefined -fsanitize=null -fsanitize=alignment -fno-sanitize-recover"
+ CACHE STRING "Flags used by the CXX compiler during UNDEFINEDSANITIZER builds.")
+ set(CMAKE_SHARED_LINKER_FLAGS_UNDEFINEDSANITIZER "-fsanitize=undefined"
+ CACHE STRING "Flags used by the linker during the creation of shared libraries during UNDEFINEDSANITIZER builds.")
+ set(CMAKE_MODULE_LINKER_FLAGS_UNDEFINEDSANITIZER "-fsanitize=undefined"
+ CACHE STRING "Flags used by the linker during the creation of shared libraries during UNDEFINEDSANITIZER builds.")
+ set(CMAKE_EXEC_LINKER_FLAGS_UNDEFINEDSANITIZER "-fsanitize=undefined"
+ CACHE STRING "Flags used by the linker during UNDEFINEDSANITIZER builds.")
endif()