# Optionally compile with thread sanitizer enabled to find concurrency bugs
# https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual

# Add optional sanitizer, off by default
option(THREAD_SANITIZER "Add thread sanitizer" OFF)
if (THREAD_SANITIZER)
    add_compile_options(-fsanitize=thread -g -fno-omit-frame-pointer)
    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=thread -fno-omit-frame-pointer")

    add_compile_definitions(THREAD_SANITIZER)
endif ()
message("-- Thread Sanitizer: ${THREAD_SANITIZER}")
