mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Surface a better CMake error if the user passes an invalid sanitizer name
This commit is contained in:
parent
3656699e2f
commit
0ba53de80e
1 changed files with 12 additions and 0 deletions
|
@ -235,6 +235,18 @@ if ( ZEEK_SANITIZERS )
|
|||
|
||||
set(_sanitizer_flags "-fsanitize=${ZEEK_SANITIZERS}")
|
||||
|
||||
# The linker command used by check_cxx_compiler_flag requires you to also pass the sanitizer to
|
||||
# it or it fails. The best way to do this is to set CMAKE_REQUIRED_LINK_OPTIONS, but save off a
|
||||
# copy of it so it can be reset back to what it was previously afterwards.
|
||||
set(_temp_link_options ${CMAKE_REQUIRED_LINK_OPTIONS})
|
||||
list(APPEND CMAKE_REQUIRED_LINK_OPTIONS ${_sanitizer_flags})
|
||||
include(CheckCXXCompilerFlag)
|
||||
check_cxx_compiler_flag(${_sanitizer_flags} COMPILER_SUPPORTS_SANITIZERS)
|
||||
if ( NOT COMPILER_SUPPORTS_SANITIZERS )
|
||||
message(FATAL_ERROR "Invalid sanitizer compiler flags: ${_sanitizer_flags}")
|
||||
endif()
|
||||
set(CMAKE_REQUIRED_LINK_OPTIONS ${_temp_link_options})
|
||||
|
||||
if ( ZEEK_SANITIZER_UB_CHECKS )
|
||||
set(_sanitizer_flags "${_sanitizer_flags} -fno-sanitize-recover=${ZEEK_SANITIZER_UB_CHECKS}")
|
||||
endif ()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue