From 02bf3dbb4dbc611d02e465f9c18ec6f35d8c80f5 Mon Sep 17 00:00:00 2001 From: harry Date: Wed, 3 Aug 2022 18:51:10 -0400 Subject: [PATCH] Added cmake command line option to build with clang/gcc address sanitizer enabled. --- src/CMakeLists.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 75c2d5d8..dad47fd2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -85,6 +85,14 @@ else(WIN32) #endif() add_definitions( -D__QT_DRIVER__ -DQT_DEPRECATED_WARNINGS ) + if ( ${ASAN_ENABLE} ) + add_definitions( -fsanitize=address -fsanitize=bounds-strict ) + set( ASAN_LDFLAGS -lasan -lubsan) + message( STATUS "Address Sanitizer Enabled" ) + else() + message( STATUS "Address Sanitizer Disabled" ) + endif() + # Check for libminizip pkg_check_modules( MINIZIP REQUIRED minizip) @@ -613,7 +621,7 @@ add_executable( ${APP_NAME} ${SOURCES} ../resources.qrc ${CMAKE_CURRENT_BINARY_DIR}/fceux_git_info.cpp) endif() -target_link_libraries( ${APP_NAME} +target_link_libraries( ${APP_NAME} ${ASAN_LDFLAGS} ${${Qt}Widgets_LIBRARIES} ${${Qt}Help_LIBRARIES} ${${Qt}OpenGL_LIBRARIES}