THRIFT-3086 add valgrind suppression support to the ExperimentalMemCheck test run

Patch: James E. King, III

This closes #481
diff --git a/build/cmake/DefinePlatformSpecifc.cmake b/build/cmake/DefinePlatformSpecifc.cmake
index 07272ce..515bb18 100644
--- a/build/cmake/DefinePlatformSpecifc.cmake
+++ b/build/cmake/DefinePlatformSpecifc.cmake
@@ -77,6 +77,9 @@
     add_definitions("-DUSE_STD_THREAD=1")
   endif()
 
+  find_program( MEMORYCHECK_COMMAND valgrind )
+  set( MEMORYCHECK_COMMAND_OPTIONS "--gen-suppressions=all --leak-check=full" )
+  set( MEMORYCHECK_SUPPRESSIONS_FILE "${PROJECT_SOURCE_DIR}/test/valgrind.suppress" )
 endif()
 
 # GCC and Clang.
diff --git a/test/valgrind.suppress b/test/valgrind.suppress
new file mode 100644
index 0000000..41f9414
--- /dev/null
+++ b/test/valgrind.suppress
@@ -0,0 +1,9 @@
+{
+   boost/get_once_per_thread_epoch/ignore
+   Memcheck:Leak
+   match-leak-kinds: reachable
+   fun:malloc
+   fun:_ZN5boost6detail25get_once_per_thread_epochEv
+}
+
+