mirror of
https://github.com/neovim/neovim.git
synced 2024-12-21 03:35:02 -07:00
Merge pull request #10784 from blueyed/improve-version-compile-flags
Improve compile options/definitions with sanitizer builds (for --version).
This commit is contained in:
commit
1852dfdf9a
@ -13,6 +13,11 @@ function(get_compile_flags _compile_flags)
|
||||
get_directory_property(compile_definitions
|
||||
DIRECTORY "src/nvim"
|
||||
COMPILE_DEFINITIONS)
|
||||
get_target_property(compile_definitions_target nvim COMPILE_DEFINITIONS)
|
||||
if(compile_definitions_target)
|
||||
list(APPEND compile_definitions ${compile_definitions_target})
|
||||
list(REMOVE_DUPLICATES compile_definitions)
|
||||
endif()
|
||||
# NOTE: list(JOIN) requires CMake 3.12, string(CONCAT) requires CMake 3.
|
||||
string(REPLACE ";" " -D" compile_definitions "${compile_definitions}")
|
||||
if(compile_definitions)
|
||||
@ -28,6 +33,11 @@ function(get_compile_flags _compile_flags)
|
||||
get_directory_property(compile_options
|
||||
DIRECTORY "src/nvim"
|
||||
COMPILE_OPTIONS)
|
||||
get_target_property(compile_options_target nvim COMPILE_OPTIONS)
|
||||
if(compile_options_target)
|
||||
list(APPEND compile_options ${compile_options_target})
|
||||
list(REMOVE_DUPLICATES compile_options)
|
||||
endif()
|
||||
# NOTE: list(JOIN) requires CMake 3.12.
|
||||
string(REPLACE ";" " " compile_options "${compile_options}")
|
||||
string(REPLACE
|
||||
|
@ -552,19 +552,19 @@ if(CLANG_ASAN_UBSAN)
|
||||
else()
|
||||
set(SANITIZE_RECOVER -fno-sanitize-recover) # Clang 3.5-
|
||||
endif()
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-DEXITFREE ")
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "${SANITIZE_RECOVER} -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=address -fsanitize=undefined -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/src/.asan-blacklist")
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_DEFINITIONS EXITFREE)
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS ${SANITIZE_RECOVER} -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=address -fsanitize=undefined -fsanitize-blacklist=${PROJECT_SOURCE_DIR}/src/.asan-blacklist)
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY LINK_FLAGS "-fsanitize=address -fsanitize=undefined ")
|
||||
elseif(CLANG_MSAN)
|
||||
message(STATUS "Enabling Clang memory sanitizer for nvim.")
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-DEXITFREE ")
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -fno-optimize-sibling-calls ")
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_DEFINITIONS EXITFREE)
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -fno-optimize-sibling-calls)
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY LINK_FLAGS "-fsanitize=memory -fsanitize-memory-track-origins ")
|
||||
elseif(CLANG_TSAN)
|
||||
message(STATUS "Enabling Clang thread sanitizer for nvim.")
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-DEXITFREE ")
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-fsanitize=thread ")
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-fPIE ")
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_DEFINITIONS EXITFREE)
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS -fsanitize=thread)
|
||||
set_property(TARGET nvim APPEND PROPERTY COMPILE_OPTIONS -fPIE)
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY LINK_FLAGS "-fsanitize=thread ")
|
||||
endif()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user