Implement DESKTOP_APP_ASAN on Linux
This commit is contained in:
parent
9f1b85aa9d
commit
ad70bff651
3 changed files with 16 additions and 1 deletions
2
external/glib/generate_gir.cmake
vendored
2
external/glib/generate_gir.cmake
vendored
|
|
@ -19,6 +19,8 @@ function(generate_gir target_name namespace deps src_target_name)
|
|||
BYPRODUCTS
|
||||
${gen_file}
|
||||
COMMAND
|
||||
env
|
||||
$<$<BOOL:${DESKTOP_APP_ASAN}>:LDFLAGS=-fsanitize=address>
|
||||
${DESKTOP_APP_GIRSCANNER}
|
||||
--quiet
|
||||
-n
|
||||
|
|
|
|||
|
|
@ -122,6 +122,19 @@ if (DESKTOP_APP_USE_ALLOCATION_TRACER)
|
|||
)
|
||||
endif()
|
||||
|
||||
if (DESKTOP_APP_ASAN)
|
||||
target_compile_options(common_options INTERFACE -fsanitize=address)
|
||||
target_link_options(common_options INTERFACE -fsanitize=address)
|
||||
|
||||
if (NOT DESKTOP_APP_USE_PACKAGED)
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
target_link_options(common_options INTERFACE -static-libasan)
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
target_link_options(common_options INTERFACE -static-libsan)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
target_link_libraries(common_options
|
||||
INTERFACE
|
||||
${CMAKE_DL_LIBS}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ option(DESKTOP_APP_ASAN "Enable address sanitizer" OFF)
|
|||
cmake_dependent_option(DESKTOP_APP_USE_ENCHANT "Use Enchant instead of bundled Hunspell." OFF LINUX OFF)
|
||||
cmake_dependent_option(DESKTOP_APP_USE_CLD3 "Disable system text language recognition and use bundled cld3 only." OFF APPLE ON)
|
||||
cmake_dependent_option(DESKTOP_APP_NO_PDB "Disable PDB file generation." OFF WIN32 OFF)
|
||||
cmake_dependent_option(DESKTOP_APP_DISABLE_SCUDO "Disable scudo, use system malloc." OFF LINUX OFF)
|
||||
cmake_dependent_option(DESKTOP_APP_DISABLE_SCUDO "Disable scudo, use system malloc." OFF "LINUX; NOT DESKTOP_APP_ASAN" ON)
|
||||
|
||||
if (APPLE AND NOT DEFINED DESKTOP_APP_MAC_ARCH)
|
||||
if (DEFINED CMAKE_OSX_ARCHITECTURES)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue