mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-10-05 01:49:02 +00:00
33 lines
1.3 KiB
CMake
33 lines
1.3 KiB
CMake
##============================================================================
|
|
## Copyright (c) Kitware, Inc.
|
|
## All rights reserved.
|
|
## See LICENSE.txt for details.
|
|
##
|
|
## This software is distributed WITHOUT ANY WARRANTY; without even
|
|
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
## PURPOSE. See the above copyright notice for more information.
|
|
##============================================================================
|
|
|
|
#-----------------------------------------------------------------------------
|
|
# check if this is a sanitizer build. If so, set up the environment.
|
|
|
|
function(vtkm_check_sanitizer_build)
|
|
string (FIND "${CTEST_MEMORYCHECK_TYPE}" "Sanitizer" SANITIZER_BUILD)
|
|
if (${SANITIZER_BUILD} GREATER -1)
|
|
# This is a sanitizer build.
|
|
# Configure the sanitizer blacklist file
|
|
set (SANITIZER_BLACKLIST "${VTKm_BINARY_DIR}/sanitizer_blacklist.txt")
|
|
configure_file (
|
|
"${VTKm_SOURCE_DIR}/Utilities/DynamicAnalysis/sanitizer_blacklist.txt.in"
|
|
${SANITIZER_BLACKLIST}
|
|
@ONLY
|
|
)
|
|
|
|
# Add the compiler flags for blacklist
|
|
set (FSANITIZE_BLACKLIST "\"-fsanitize-blacklist=${SANITIZER_BLACKLIST}\"")
|
|
foreach (entity C CXX SHARED_LINKER EXE_LINKER MODULE_LINKER)
|
|
set (CMAKE_${entity}_FLAGS "${CMAKE_${entity}_FLAGS} ${FSANITIZE_BLACKLIST}")
|
|
endforeach ()
|
|
endif ()
|
|
endfunction()
|