[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.

This post was last modified on June 14, 2018, 6:01 am