mirror of
https://github.com/neovim/neovim.git
synced 2026-07-16 22:21:30 +00:00
Only use SANITIZE for nvim target
- Clang's Address Sanitizer options may cause problems when running the unit tests, restrict the use of these options to the nvim target.
This commit is contained in:
@@ -94,20 +94,6 @@ endforeach()
|
||||
set_source_files_properties(
|
||||
${CONV_SOURCES} PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -Wno-conversion")
|
||||
|
||||
option(SANITIZE "Enable sanitizers when using Clang" OFF)
|
||||
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
if(SANITIZE)
|
||||
message(STATUS "Enabling the sanitizers")
|
||||
add_definitions(-DEXITFREE) # is this necessary for LeakSanitizer?
|
||||
add_definitions(-fno-sanitize-recover -fno-omit-frame-pointer
|
||||
-fno-optimize-sibling-calls -fsanitize=address -fsanitize=undefined)
|
||||
set(CMAKE_EXE_LINKER_FLAGS
|
||||
"-fsanitize=address -fsanitize=undefined ${CMAKE_EXE_LINKER_FLAGS}")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS
|
||||
"-fsanitize=address -fsanitize=undefined ${CMAKE_SHARED_LINKER_FLAGS}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
get_directory_property(gen_cdefs COMPILE_DEFINITIONS)
|
||||
foreach(gen_cdef ${gen_cdefs})
|
||||
set(gen_cflags "${gen_cflags} -D${gen_cdef}")
|
||||
@@ -203,6 +189,16 @@ add_executable(nvim ${NEOVIM_GENERATED_SOURCES} ${NEOVIM_SOURCES}
|
||||
target_link_libraries(nvim ${NVIM_LINK_LIBRARIES})
|
||||
install_helper(TARGETS nvim)
|
||||
|
||||
option(SANITIZE "Enable sanitizers when using Clang" OFF)
|
||||
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
if(SANITIZE)
|
||||
message(STATUS "Enabling the sanitizers")
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-DEXITFREE ")
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY COMPILE_FLAGS "-fno-sanitize-recover -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=address -fsanitize=undefined ")
|
||||
set_property(TARGET nvim APPEND_STRING PROPERTY LINK_FLAGS "-fsanitize=address -fsanitize=undefined ")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_library(nvim-test MODULE EXCLUDE_FROM_ALL ${NEOVIM_GENERATED_SOURCES}
|
||||
${NEOVIM_SOURCES} ${NEOVIM_HEADERS})
|
||||
target_link_libraries(nvim-test ${NVIM_LINK_LIBRARIES})
|
||||
|
||||
Reference in New Issue
Block a user