Skip to content
Snippets Groups Projects

feat/support_ASAN

Merged Grégoire Kubler requested to merge hrouis/aidge_core:feat/support_ASAN into dev
+ 15
0
@@ -11,6 +11,7 @@ set(module_name _${project}) # target name
@@ -11,6 +11,7 @@ set(module_name _${project}) # target name
project(${project})
project(${project})
 
set(CXX_STANDARD 14)
##############################################
##############################################
# Define options
# Define options
@@ -18,6 +19,7 @@ option(PYBIND "python binding" ON)
@@ -18,6 +19,7 @@ option(PYBIND "python binding" ON)
option(WERROR "Warning as error" OFF)
option(WERROR "Warning as error" OFF)
option(TEST "Enable tests" ON)
option(TEST "Enable tests" ON)
option(COVERAGE "Enable coverage" OFF)
option(COVERAGE "Enable coverage" OFF)
 
option(ENABLE_ASAN "Enable ASan (adress sanitizer) for runtime analysis of memory use (over/underflow, memory leak, ...)" OFF)
##############################################
##############################################
# Import utils CMakeLists
# Import utils CMakeLists
@@ -60,6 +62,19 @@ target_include_directories(${module_name}
@@ -60,6 +62,19 @@ target_include_directories(${module_name}
${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/src
)
)
 
if( ${ENABLE_ASAN} )
 
message("Building ${module_name} with ASAN.")
 
set(SANITIZE_FLAGS -fsanitize=address -fno-omit-frame-pointer)
 
target_link_libraries(${module_name}
 
PUBLIC
 
-fsanitize=address
 
)
 
target_compile_options(${module_name}
 
PRIVATE
 
${SANITIZE_FLAGS}
 
)
 
endif()
 
# PYTHON BINDING
# PYTHON BINDING
if (PYBIND)
if (PYBIND)
generate_python_binding(${project} ${module_name})
generate_python_binding(${project} ${module_name})
Loading