File tree Expand file tree Collapse file tree 1 file changed +11
-1
lines changed
GPU/GPUTracking/Standalone Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -65,7 +65,10 @@ else()
6565 add_definitions (-DNDEBUG)
6666endif ()
6767if (GPUCA_BUILD_DEBUG_SANITIZE)
68- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address,undefined -fno-sanitize=vptr" ) #TODO: Check why this does not work with clang
68+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address,undefined -fno-sanitize=vptr" )
69+ if (CMAKE_CXX_COMPILER MATCHES "clang\\ +\\ +" )
70+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -shared-libasan" )
71+ endif ()
6972endif ()
7073set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error -Wall -Wextra -Wshadow -Wno-unused-function -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-unknown-pragmas -Wno-write-strings -Wno-vla-cxx-extension" )
7174set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -rdynamic -Wl,--no-undefined" )
@@ -247,6 +250,13 @@ if(GPUCA_CONFIG_ROOT)
247250endif ()
248251target_link_libraries (standalone_support PUBLIC Microsoft.GSL::GSL TPCFastTransformation)
249252
253+ if (GPUCA_BUILD_DEBUG_SANITIZE AND CMAKE_CXX_COMPILER MATCHES "clang\\ +\\ +" )
254+ execute_process (COMMAND ${CMAKE_CXX_COMPILER} -print-file-name =libclang_rt.asan-x86_64.so OUTPUT_VARIABLE CLANG_ASAN_SO_PATH OUTPUT_STRIP_TRAILING_WHITESPACE)
255+ get_filename_component (CLANG_ASAN_SO_PATH "${CLANG_ASAN_SO_PATH} " DIRECTORY )
256+ get_filename_component (CLANG_ASAN_SO_PATH "${CLANG_ASAN_SO_PATH} " ABSOLUTE )
257+ target_link_options (ca PRIVATE "-Wl,-rpath,${CLANG_ASAN_SO_PATH} " )
258+ endif ()
259+
250260# Installation
251261install (TARGETS ca TPCFastTransformation standalone_support)
252262install (FILES "cmake/makefile" DESTINATION "${CMAKE_INSTALL_PREFIX} " )
You can’t perform that action at this time.
0 commit comments