Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / cmake / sanitizer.cmake
1 # Copyright (C) 2018-2019 Intel Corporation
2 #
3 # SPDX-License-Identifier: Apache-2.0
4 #
5
6 include(CheckCXXCompilerFlag)
7
8 if (ENABLE_SANITIZER)
9     set(SANITIZER_COMPILER_FLAGS "-fsanitize=address")
10     CHECK_CXX_COMPILER_FLAG("-fsanitize-recover=address" SANITIZE_RECOVER_SUPPORTED)
11     if (SANITIZE_RECOVER_SUPPORTED)
12         set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize-recover=address")
13     endif()
14
15     set(SANITIZER_LINKER_FLAGS "-fsanitize=address")
16     if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
17         set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fuse-ld=gold")
18     endif()
19
20     set(CMAKE_CC_FLAGS "${CMAKE_CC_FLAGS} ${SANITIZER_COMPILER_FLAGS}")
21     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SANITIZER_COMPILER_FLAGS}")
22     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${SANITIZER_LINKER_FLAGS}")
23     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SANITIZER_LINKER_FLAGS}")
24 endif()