[ripple/rippled] Modernize CMake Build (#2579)

JoeLoser commented on this pull request.

> + set (use_gold OFF CACHE BOOL «gold linker, linux only» FORCE)
+endif ()
+option (jemalloc «Enables jemalloc for heap profiling» OFF)
+option (werr «treat warnings as errors» OFF)
+
+# this one is a string and therefore can’t be an option
+set (san «» CACHE STRING «On gcc & clang, add sanitizer instrumentation»)
+set_property (CACHE san PROPERTY STRINGS «;undefined;memory;address;thread»)
+if (san)
+ string (TOLOWER ${san} san)
+ if (NOT (is_gcc OR is_clang))
+ message (FATAL_ERROR «san option only works for clang/gcc»)
+ endif ()
+ if (san STREQUAL «memory» AND NOT (is_clang AND
+ CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 7))
+ message (FATAL_ERROR «memory sanitizer only available for clang 7+»)

Is this message meant to apply to AppleClang 7 or higher, or LLVM 7 (unreleased yet)? I would assume the former since I think even LLVM 4 or so has MSAN.

Добавить комментарий