diff --git a/Code/Mantid/Build/CMake/WindowsNSIS.cmake b/Code/Mantid/Build/CMake/WindowsNSIS.cmake
index 068128ff51d732c5db36ef7f6c4b9e28640abc58..a66bd3a8a273b4f3300e8124fb25d8d64acbba7c 100644
--- a/Code/Mantid/Build/CMake/WindowsNSIS.cmake
+++ b/Code/Mantid/Build/CMake/WindowsNSIS.cmake
@@ -81,6 +81,7 @@ set ( MISC_CORE_DIST_DLLS
     libeay32.dll
     libNeXus-0.dll
     libNeXusCPP-0.dll
+    libtcmalloc_minimal.dll
     muparser.dll
     mxml1.dll
     ssleay32.dll
diff --git a/Code/Mantid/Build/CMake/WindowsSetup.cmake b/Code/Mantid/Build/CMake/WindowsSetup.cmake
index e8a98b9cfb42751f5166afddb9c1e2b4b157f27c..74ecd914a032ce24f59bf50379f0d6720c1314de 100644
--- a/Code/Mantid/Build/CMake/WindowsSetup.cmake
+++ b/Code/Mantid/Build/CMake/WindowsSetup.cmake
@@ -77,6 +77,21 @@ set ( PYTHON_EXECUTABLE_DEBUG "${CMAKE_LIBRARY_PATH}/Python27/python_d.exe" CACH
 ## The "pythonw" executable that avoids raising another terminal when it runs. Used for IPython
 set ( PYTHONW_EXECUTABLE "${CMAKE_LIBRARY_PATH}/Python27/pythonw.exe" CACHE FILEPATH "The location of the pythonw executable. This suppresses the new terminal window on startup" FORCE ) 
 
+###########################################################################
+# If required, find tcmalloc
+###########################################################################
+set ( USE_TCMALLOC ON CACHE BOOL "If true, link with tcmalloc" )
+# If not wanted, just carry on without it
+if ( USE_TCMALLOC )
+  set ( TCMALLOC_LIBRARIES optimized "${CMAKE_LIBRARY_PATH}/libtcmalloc_minimal.lib" debug "${CMAKE_LIBRARY_PATH}/libtcmalloc_minimal_d.lib" )
+  # Use an alternate variable name so that it is only set on Windows
+  set ( TCMALLOC_LIBRARIES_LINKTIME ${TCMALLOC_LIBRARIES})
+  set ( CMAKE_SHARED_LINKER_FLAGS /INCLUDE:"__tcmalloc" )
+else ( USE_TCMALLOC )
+  message ( STATUS "TCMalloc will not be included." )
+endif ()
+
+
 ###########################################################################
 # Compiler options.
 ###########################################################################
diff --git a/Code/Mantid/Framework/API/CMakeLists.txt b/Code/Mantid/Framework/API/CMakeLists.txt
index 1db66c45ad5f443af2b439b0ff0a76037b02f9f7..aab1edf6fbe6f49a4859f8e74b51fa6fa6f5be42 100644
--- a/Code/Mantid/Framework/API/CMakeLists.txt
+++ b/Code/Mantid/Framework/API/CMakeLists.txt
@@ -424,7 +424,7 @@ endif ()
 # Add to the 'Framework' group in VS
 set_property ( TARGET API PROPERTY FOLDER "MantidFramework" )
 
-target_link_libraries ( API LINK_PRIVATE ${MANTIDLIBS} ${GSL_LIBRARIES} ${NEXUS_LIBRARIES} ${WINSOCK} )
+target_link_libraries ( API LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${GSL_LIBRARIES} ${NEXUS_LIBRARIES} ${WINSOCK} )
 
 # Add the unit tests directory
 add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/API/test/CMakeLists.txt b/Code/Mantid/Framework/API/test/CMakeLists.txt
index 5d7a484e94a673ff819d1b608044ec0687c90328..430ec33bdff16545f1223335cbd56980a7cec325 100644
--- a/Code/Mantid/Framework/API/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/API/test/CMakeLists.txt
@@ -10,7 +10,7 @@ if ( CXXTEST_FOUND )
                         ../../TestHelpers/src/NexusTestHelper.cpp
       )
   cxxtest_add_test ( APITest ${TEST_FILES} ${GMOCK_TEST_FILES})
-  target_link_libraries( APITest LINK_PRIVATE 
+  target_link_libraries( APITest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             API
             Geometry
             Kernel
diff --git a/Code/Mantid/Framework/Algorithms/CMakeLists.txt b/Code/Mantid/Framework/Algorithms/CMakeLists.txt
index 764f51c4f191fc3669a772d2bba001f47ce14155..b46cf3414d853e42310762f4a163b8e612bfa360 100644
--- a/Code/Mantid/Framework/Algorithms/CMakeLists.txt
+++ b/Code/Mantid/Framework/Algorithms/CMakeLists.txt
@@ -820,7 +820,7 @@ set_property ( TARGET Algorithms PROPERTY FOLDER "MantidFramework" )
 
 include_directories ( inc )
 
-target_link_libraries ( Algorithms LINK_PRIVATE ${MANTIDLIBS} ${GSL_LIBRARIES} )
+target_link_libraries ( Algorithms LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${GSL_LIBRARIES} )
 
 # Add the unit tests directory
 add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/Algorithms/test/CMakeLists.txt b/Code/Mantid/Framework/Algorithms/test/CMakeLists.txt
index a8ed6945a47945c19ece9ab4fbd3fd55e6ec681f..73b5fef2307b7b9b2e46d66078cd5d2a5625a39c 100644
--- a/Code/Mantid/Framework/Algorithms/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/Algorithms/test/CMakeLists.txt
@@ -38,7 +38,7 @@ if ( CXXTEST_FOUND )
                         ../../TestHelpers/src/ScopedFileHelper.cpp
                         )
   cxxtest_add_test ( AlgorithmsTest ${TEST_FILES} )
-  target_link_libraries ( AlgorithmsTest LINK_PRIVATE 
+  target_link_libraries ( AlgorithmsTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             Algorithms
             API
             DataHandling
diff --git a/Code/Mantid/Framework/Crystal/CMakeLists.txt b/Code/Mantid/Framework/Crystal/CMakeLists.txt
index fb86a1a5fc41282d095c5183d9a86fd4127065d9..75e9b1fbbc7cc83ba3c702818e9d98f56dc594f8 100644
--- a/Code/Mantid/Framework/Crystal/CMakeLists.txt
+++ b/Code/Mantid/Framework/Crystal/CMakeLists.txt
@@ -230,7 +230,7 @@ set_property ( TARGET Crystal PROPERTY FOLDER "MantidFramework" )
 
 include_directories ( inc )
 
-target_link_libraries ( Crystal LINK_PRIVATE ${MANTIDLIBS} ${GSL_LIBRARIES} )
+target_link_libraries ( Crystal LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${GSL_LIBRARIES} )
 
 # Add the unit tests directory
 add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/Crystal/test/CMakeLists.txt b/Code/Mantid/Framework/Crystal/test/CMakeLists.txt
index 1144f677ad4dc946a92a1097ba8d70c18665d1c5..5751dfdd1b55daa3d4cf939cfbc508df051c36cd 100644
--- a/Code/Mantid/Framework/Crystal/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/Crystal/test/CMakeLists.txt
@@ -9,7 +9,7 @@ if ( CXXTEST_FOUND )
                         ../../TestHelpers/src/WorkspaceCreationHelper.cpp
                         ../../TestHelpers/src/MDEventsTestHelper.cpp )
   cxxtest_add_test ( CrystalTest ${TEST_FILES} )
-  target_link_libraries ( CrystalTest LINK_PRIVATE 
+  target_link_libraries ( CrystalTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             Crystal
             API
             DataHandling
diff --git a/Code/Mantid/Framework/CurveFitting/CMakeLists.txt b/Code/Mantid/Framework/CurveFitting/CMakeLists.txt
index 167d9117d143130d886803b6c25e42e6f86a0b46..d845f074ab52bb2bcde4ba1b085c9852ecdb6717 100644
--- a/Code/Mantid/Framework/CurveFitting/CMakeLists.txt
+++ b/Code/Mantid/Framework/CurveFitting/CMakeLists.txt
@@ -377,7 +377,7 @@ set_property ( TARGET CurveFitting PROPERTY FOLDER "MantidFramework" )
 
 include_directories ( inc )
 
-target_link_libraries ( CurveFitting LINK_PRIVATE ${MANTIDLIBS} ${GSL_LIBRARIES} )
+target_link_libraries ( CurveFitting LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${GSL_LIBRARIES} )
 
 # Add the unit tests directory
 add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/CurveFitting/test/CMakeLists.txt b/Code/Mantid/Framework/CurveFitting/test/CMakeLists.txt
index f468e684e4901fd8ddfd766d1d2c0c02a6efe7fa..556f2cc55dba65886476dc9c0cc42a7025e9256f 100644
--- a/Code/Mantid/Framework/CurveFitting/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/CurveFitting/test/CMakeLists.txt
@@ -10,7 +10,7 @@ if ( CXXTEST_FOUND )
                         ../../TestHelpers/src/StartFrameworkManager.cpp
   )
   cxxtest_add_test ( CurveFittingTest ${TEST_FILES}  )
-  target_link_libraries( CurveFittingTest LINK_PRIVATE 
+  target_link_libraries( CurveFittingTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             CurveFitting
             API
             DataHandling
diff --git a/Code/Mantid/Framework/DataHandling/CMakeLists.txt b/Code/Mantid/Framework/DataHandling/CMakeLists.txt
index ecd2806202381090d05f97963fe2189766666b0b..7379affafbe812884f07186fe100ad7759efae27 100644
--- a/Code/Mantid/Framework/DataHandling/CMakeLists.txt
+++ b/Code/Mantid/Framework/DataHandling/CMakeLists.txt
@@ -487,7 +487,7 @@ set_property ( TARGET DataHandling PROPERTY FOLDER "MantidFramework" )
 
 include_directories ( inc ../Nexus/inc ${HDF5_INCLUDE_DIRS})
 
-target_link_libraries ( DataHandling LINK_PRIVATE ${MANTIDLIBS} Nexus ${NEXUS_LIBRARIES} ${HDF5_LIBRARIES} ${JSONCPP_LIBRARIES} )
+target_link_libraries ( DataHandling LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} Nexus ${NEXUS_LIBRARIES} ${HDF5_LIBRARIES} ${JSONCPP_LIBRARIES} )
 
 # Add the unit tests directory
 add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/DataHandling/test/CMakeLists.txt b/Code/Mantid/Framework/DataHandling/test/CMakeLists.txt
index f64e3f4bfb3ae9220e927c924be093992465fb26..47b4dde26c2e3a658294d047f662308a1002a778 100644
--- a/Code/Mantid/Framework/DataHandling/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/DataHandling/test/CMakeLists.txt
@@ -12,7 +12,7 @@ if ( CXXTEST_FOUND )
       )
 
   cxxtest_add_test ( DataHandlingTest ${TEST_FILES} )
-  target_link_libraries( DataHandlingTest LINK_PRIVATE 
+  target_link_libraries( DataHandlingTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             API
             DataHandling
             DataObjects
diff --git a/Code/Mantid/Framework/DataObjects/CMakeLists.txt b/Code/Mantid/Framework/DataObjects/CMakeLists.txt
index 6477f48430ed37cc703e2e4a35204c3e13883145..847b0ae0f677cec8c60591485c86f6a7f269990c 100644
--- a/Code/Mantid/Framework/DataObjects/CMakeLists.txt
+++ b/Code/Mantid/Framework/DataObjects/CMakeLists.txt
@@ -211,7 +211,7 @@ endif ()
 # Add to the 'Framework' group in VS
 set_property ( TARGET DataObjects PROPERTY FOLDER "MantidFramework" )
 
-target_link_libraries ( DataObjects LINK_PRIVATE ${MANTIDLIBS} ${JSONCPP_LIBRARIES} ${NEXUS_LIBRARIES} )
+target_link_libraries ( DataObjects LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${JSONCPP_LIBRARIES} ${NEXUS_LIBRARIES} )
 
 # Add the unit tests directory
 add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/DataObjects/src/Workspace2D.cpp b/Code/Mantid/Framework/DataObjects/src/Workspace2D.cpp
index 983ce24c3764e28b54d47567f33205b9c640f9a0..d63a72f2eba438acbf9526767f4ef40b0f43d7cb 100644
--- a/Code/Mantid/Framework/DataObjects/src/Workspace2D.cpp
+++ b/Code/Mantid/Framework/DataObjects/src/Workspace2D.cpp
@@ -35,20 +35,7 @@ Workspace2D::Workspace2D(const Workspace2D &other)
 /// Destructor
 Workspace2D::~Workspace2D() {
 // Clear out the memory
-
-// The omp loop is here primarily MSVC. On MSVC 2012 when you allocate
-// memory in a multithreaded loop, like our cow_ptrs will do, the
-// deallocation time increases by a huge amount if the memory is just
-// naively deallocated in a serial order. This is because when it was
-// allocated in the omp loop then the actual memory ends up being
-// interleaved and then trying to deallocate this serially leads to
-// lots of swapping in and out of memory. See
-// http://social.msdn.microsoft.com/Forums/en-US/2fe4cfc7-ca5c-4665-8026-42e0ba634214/visual-studio-2012-slow-deallocation-when-new-called-within-openmp-loop?forum=vcgeneral
-
-#ifdef _MSC_VER
-  PARALLEL_FOR1(this)
-#endif
-  for (int64_t i = 0; i < static_cast<int64_t>(data.size()); i++) {
+  for (size_t i = 0; i < m_noVectors; i++) {
     delete data[i];
   }
 }
diff --git a/Code/Mantid/Framework/DataObjects/test/CMakeLists.txt b/Code/Mantid/Framework/DataObjects/test/CMakeLists.txt
index 4dc20d464c901dd12e572bb80c25df37869a25fc..b6209a9fe7f7def52116c9ac66c582be1ab3d4b8 100644
--- a/Code/Mantid/Framework/DataObjects/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/DataObjects/test/CMakeLists.txt
@@ -14,7 +14,7 @@ if ( CXXTEST_FOUND )
   )
 
   cxxtest_add_test ( DataObjectsTest ${TEST_FILES} )
-  target_link_libraries( DataObjectsTest LINK_PRIVATE 
+  target_link_libraries( DataObjectsTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             API
             DataObjects
             Geometry
diff --git a/Code/Mantid/Framework/Geometry/CMakeLists.txt b/Code/Mantid/Framework/Geometry/CMakeLists.txt
index c429aa2a83b419896394e92a183a73359e22d06f..0bca7423c7c11d0d6d6e1986806be1da97953fb5 100644
--- a/Code/Mantid/Framework/Geometry/CMakeLists.txt
+++ b/Code/Mantid/Framework/Geometry/CMakeLists.txt
@@ -393,7 +393,7 @@ endif ()
 # Add to the 'Framework' group in VS
 set_property ( TARGET Geometry PROPERTY FOLDER "MantidFramework" )
 
-target_link_libraries ( Geometry LINK_PRIVATE ${MANTIDLIBS}  ${OPENGL_LIBRARIES} ${GSL_LIBRARIES} ${NEXUS_LIBRARIES} )
+target_link_libraries ( Geometry LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS}  ${OPENGL_LIBRARIES} ${GSL_LIBRARIES} ${NEXUS_LIBRARIES} )
 
 if (ENABLE_OPENCASCADE)
   target_link_libraries ( Geometry LINK_PRIVATE ${OPENCASCADE_LIBRARIES} )
diff --git a/Code/Mantid/Framework/Geometry/test/CMakeLists.txt b/Code/Mantid/Framework/Geometry/test/CMakeLists.txt
index 9dd4872b4328ff358aa2c00d3867fed5f0dc2118..67a8ef7e7ed5270e615106afeef6ecf91920f1b1 100644
--- a/Code/Mantid/Framework/Geometry/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/Geometry/test/CMakeLists.txt
@@ -13,7 +13,7 @@ if ( CXXTEST_FOUND )
   )
 
   cxxtest_add_test ( GeometryTest ${TEST_FILES} ${GMOCK_TEST_FILES})
-  target_link_libraries( GeometryTest LINK_PRIVATE 
+  target_link_libraries( GeometryTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             Geometry
             Kernel
             ${NEXUS_LIBRARIES}
diff --git a/Code/Mantid/Framework/ICat/CMakeLists.txt b/Code/Mantid/Framework/ICat/CMakeLists.txt
index 09c23e440c19493c68bbe2636d519ec307409728..3d0a1da104b6adb77648393c20a0635134f963f0 100644
--- a/Code/Mantid/Framework/ICat/CMakeLists.txt
+++ b/Code/Mantid/Framework/ICat/CMakeLists.txt
@@ -98,7 +98,7 @@ set_property ( TARGET ICat PROPERTY FOLDER "MantidFramework" )
 
 include_directories ( inc )
 
-target_link_libraries ( ICat LINK_PRIVATE ${MANTIDLIBS} ${OPENSSL_LIBRARIES} )
+target_link_libraries ( ICat LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${OPENSSL_LIBRARIES} )
 
 # Add the unit tests directory
 add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/ICat/test/CMakeLists.txt b/Code/Mantid/Framework/ICat/test/CMakeLists.txt
index 3414d00df102a481716a3a27d11edb878892d5e9..2deba7c380db34752ff18c881a8f77110ce8c0f8 100644
--- a/Code/Mantid/Framework/ICat/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/ICat/test/CMakeLists.txt
@@ -10,7 +10,7 @@ if ( CXXTEST_FOUND )
 
   # The actual test suite
   cxxtest_add_test ( ICatTest ${TEST_FILES} )
-  target_link_libraries( ICatTest LINK_PRIVATE 
+  target_link_libraries( ICatTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             ICat
             API
             DataObjects
diff --git a/Code/Mantid/Framework/ISISLiveData/CMakeLists.txt b/Code/Mantid/Framework/ISISLiveData/CMakeLists.txt
index 583bb56c1fb3766a4960e397f8a957d8263356bc..001f940d01ecc6da4945e2f7aac5f0e8394aa076 100644
--- a/Code/Mantid/Framework/ISISLiveData/CMakeLists.txt
+++ b/Code/Mantid/Framework/ISISLiveData/CMakeLists.txt
@@ -35,7 +35,7 @@ set_property ( TARGET ISISLiveData PROPERTY FOLDER "MantidFramework" )
 
 include_directories ( inc )
 
-target_link_libraries ( ISISLiveData LINK_PRIVATE ${MANTIDLIBS} )
+target_link_libraries ( ISISLiveData LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} )
 
 # Add the unit tests directory
 # add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/Kernel/CMakeLists.txt b/Code/Mantid/Framework/Kernel/CMakeLists.txt
index aaef32ed485a54b74e36c59229d8a5a28309cdc9..30453b5c29193aa694dfefe576cd47f4f82babb8 100644
--- a/Code/Mantid/Framework/Kernel/CMakeLists.txt
+++ b/Code/Mantid/Framework/Kernel/CMakeLists.txt
@@ -406,7 +406,7 @@ set_property ( TARGET Kernel PROPERTY FOLDER "MantidFramework" )
 if ( GCC_COMPILER_VERSION AND GCC_COMPILER_VERSION VERSION_LESS "4.5" )
  target_link_libraries ( Kernel LINK_PRIVATE stdc++ )
 endif()
-target_link_libraries ( Kernel LINK_PRIVATE ${NEXUS_LIBRARIES} ${GSL_LIBRARIES} ${MANTIDLIBS} ${NETWORK_LIBRARIES} )
+target_link_libraries ( Kernel LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${NEXUS_LIBRARIES} ${GSL_LIBRARIES} ${MANTIDLIBS} ${NETWORK_LIBRARIES} )
 
 if (WITH_ASAN)
   target_link_libraries ( Kernel LINK_PRIVATE -lasan )
diff --git a/Code/Mantid/Framework/Kernel/test/CMakeLists.txt b/Code/Mantid/Framework/Kernel/test/CMakeLists.txt
index 1b8683856d73f5991413ce5a9c02a1573491164a..636f917d3ebaeef6b12d23ad20c1041b3f780ed2 100644
--- a/Code/Mantid/Framework/Kernel/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/Kernel/test/CMakeLists.txt
@@ -8,7 +8,7 @@ if ( CXXTEST_FOUND )
   set ( TESTHELPER_SRCS ../../TestHelpers/src/NexusTestHelper.cpp ../../TestHelpers/src/LoggingCleaner.cpp )
 
   cxxtest_add_test ( KernelTest ${TEST_FILES} )
-  target_link_libraries( KernelTest LINK_PRIVATE 
+  target_link_libraries( KernelTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             Kernel
             ${NEXUS_LIBRARIES}
             ${Boost_LIBRARIES}
diff --git a/Code/Mantid/Framework/LiveData/CMakeLists.txt b/Code/Mantid/Framework/LiveData/CMakeLists.txt
index b3fdfac21fce4d904b1a38561dc59a06a63156d1..730df72cd57b5dd4b155871ca9a72a14046a18b5 100644
--- a/Code/Mantid/Framework/LiveData/CMakeLists.txt
+++ b/Code/Mantid/Framework/LiveData/CMakeLists.txt
@@ -84,7 +84,7 @@ if ( WIN32 )
   set ( WINSOCK ws2_32 )
 endif ()
 
-target_link_libraries ( LiveData LINK_PRIVATE ${MANTIDLIBS} ${WINSOCK} )
+target_link_libraries ( LiveData LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${WINSOCK} )
 
 # Add the unit tests directory
 add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/LiveData/test/CMakeLists.txt b/Code/Mantid/Framework/LiveData/test/CMakeLists.txt
index e4f826b6be3be213f0afbec965a9e4879acefdcc..2854ce66f5793ac1c2c2d64cdf8d288fd97333df 100644
--- a/Code/Mantid/Framework/LiveData/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/LiveData/test/CMakeLists.txt
@@ -13,7 +13,7 @@ if ( CXXTEST_FOUND )
       )
 
   cxxtest_add_test ( LiveDataTest ${TEST_FILES} )
-  target_link_libraries( LiveDataTest LINK_PRIVATE 
+  target_link_libraries( LiveDataTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             API
             DataObjects
             Geometry
diff --git a/Code/Mantid/Framework/MDAlgorithms/CMakeLists.txt b/Code/Mantid/Framework/MDAlgorithms/CMakeLists.txt
index dfc67920a50be4bf4263c6f2bd8703f57dd3d57f..b64ab8c3316d23e7cfa74ce1d5cf4b99708c84c9 100644
--- a/Code/Mantid/Framework/MDAlgorithms/CMakeLists.txt
+++ b/Code/Mantid/Framework/MDAlgorithms/CMakeLists.txt
@@ -372,7 +372,7 @@ endif ()
 set_property ( TARGET MDAlgorithms PROPERTY FOLDER "MantidFramework" )
 
 include_directories ( inc )
-target_link_libraries ( MDAlgorithms LINK_PRIVATE ${MANTIDLIBS} ${GSL_LIBRARIES} ${NEXUS_LIBRARIES}  )
+target_link_libraries ( MDAlgorithms LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${GSL_LIBRARIES} ${NEXUS_LIBRARIES}  )
 
 # Add the unit tests directory
 add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/MDAlgorithms/test/CMakeLists.txt b/Code/Mantid/Framework/MDAlgorithms/test/CMakeLists.txt
index 44e405385a15df255ba08654e16d98a14f2c4efd..694c59da7e2f049d5c5bd84af4f00226cd4ba569 100644
--- a/Code/Mantid/Framework/MDAlgorithms/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/MDAlgorithms/test/CMakeLists.txt
@@ -14,7 +14,7 @@ if ( CXXTEST_FOUND )
                          )
 
   cxxtest_add_test ( MDAlgorithmsTest ${TEST_FILES} ${GMOCK_TEST_FILES})
-  target_link_libraries( MDAlgorithmsTest LINK_PRIVATE 
+  target_link_libraries( MDAlgorithmsTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             API
             DataHandling
             DataObjects
diff --git a/Code/Mantid/Framework/Nexus/CMakeLists.txt b/Code/Mantid/Framework/Nexus/CMakeLists.txt
index 2208a123dae48c3426145edd0a98ec3f8a5444aa..b4ec93352419ee8dd2309e96477993f48fd183fe 100644
--- a/Code/Mantid/Framework/Nexus/CMakeLists.txt
+++ b/Code/Mantid/Framework/Nexus/CMakeLists.txt
@@ -37,11 +37,11 @@ set_property ( TARGET Nexus PROPERTY FOLDER "MantidFramework" )
 
 include_directories ( inc )
 
-target_link_libraries ( Nexus LINK_PRIVATE ${MANTIDLIBS} ${NEXUS_C_LIBRARIES} ${NEXUS_LIBRARIES} )
+target_link_libraries ( Nexus LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${NEXUS_C_LIBRARIES} ${NEXUS_LIBRARIES} )
 
 # if ( CXXTEST_FOUND )
 #  cxxtest_add_test ( NexusTest ${TEST_FILES} )
-# target_link_libraries( NexusTest LINK_PRIVATE Nexus  )
+# target_link_libraries( NexusTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} Nexus  )
 #  add_dependencies ( FrameworkTests NexusTest )
 #  set_property ( TARGET NexusTest PROPERTY FOLDER "UnitTests" )
 # endif ()
diff --git a/Code/Mantid/Framework/PythonInterface/mantid/api/CMakeLists.txt b/Code/Mantid/Framework/PythonInterface/mantid/api/CMakeLists.txt
index a2e5227fea24807e99c539a99f23ad9036538ec9..05d298c4534dbf095677ffe19b85d2e7ef416bd6 100644
--- a/Code/Mantid/Framework/PythonInterface/mantid/api/CMakeLists.txt
+++ b/Code/Mantid/Framework/PythonInterface/mantid/api/CMakeLists.txt
@@ -136,7 +136,7 @@ set_python_properties( PythonAPIModule _api )
 set_target_output_directory ( PythonAPIModule ${OUTPUT_DIR} .pyd )
 
 # Add the required dependencies
-target_link_libraries ( PythonAPIModule LINK_PRIVATE
+target_link_libraries ( PythonAPIModule LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}
             PythonGeometryModule
             PythonKernelModule
             API
diff --git a/Code/Mantid/Framework/PythonInterface/mantid/dataobjects/CMakeLists.txt b/Code/Mantid/Framework/PythonInterface/mantid/dataobjects/CMakeLists.txt
index bf7122298a6dfcf17ee7228588e6d16b249b8143..d3b8006a8b9538f3f4adcae39c5745bed4be32a3 100644
--- a/Code/Mantid/Framework/PythonInterface/mantid/dataobjects/CMakeLists.txt
+++ b/Code/Mantid/Framework/PythonInterface/mantid/dataobjects/CMakeLists.txt
@@ -62,7 +62,7 @@ set_python_properties( PythonDataObjectsModule _dataobjects )
 set_target_output_directory ( PythonDataObjectsModule ${OUTPUT_DIR} .pyd )
 
 # Add the required dependencies
-target_link_libraries ( PythonDataObjectsModule LINK_PRIVATE
+target_link_libraries ( PythonDataObjectsModule LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}
             PythonAPIModule
             PythonGeometryModule
             PythonKernelModule
diff --git a/Code/Mantid/Framework/PythonInterface/mantid/geometry/CMakeLists.txt b/Code/Mantid/Framework/PythonInterface/mantid/geometry/CMakeLists.txt
index 403e95e529cab2953cccc9f88a8b945141bb230a..79a8366fad82bb4b37262da198e8069f8d812523 100644
--- a/Code/Mantid/Framework/PythonInterface/mantid/geometry/CMakeLists.txt
+++ b/Code/Mantid/Framework/PythonInterface/mantid/geometry/CMakeLists.txt
@@ -76,7 +76,7 @@ add_library ( PythonGeometryModule ${EXPORT_FILES} ${MODULE_DEFINITION} ${SRC_FI
 set_python_properties( PythonGeometryModule _geometry )
 set_target_output_directory ( PythonGeometryModule ${OUTPUT_DIR} .pyd )
 # Add the required dependencies
-target_link_libraries ( PythonGeometryModule LINK_PRIVATE
+target_link_libraries ( PythonGeometryModule LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}
             PythonKernelModule
             Geometry
             Kernel
diff --git a/Code/Mantid/Framework/PythonInterface/mantid/kernel/CMakeLists.txt b/Code/Mantid/Framework/PythonInterface/mantid/kernel/CMakeLists.txt
index 2be5ab0edeb412e7669e81a80430b0cf919a637e..3e30f31d8445936897dc08cd165c7b8310e36b68 100644
--- a/Code/Mantid/Framework/PythonInterface/mantid/kernel/CMakeLists.txt
+++ b/Code/Mantid/Framework/PythonInterface/mantid/kernel/CMakeLists.txt
@@ -162,7 +162,7 @@ add_library ( PythonKernelModule ${EXPORT_FILES} ${MODULE_DEFINITION} ${SRC_FILE
 set_python_properties( PythonKernelModule _kernel )
 set_target_output_directory ( PythonKernelModule ${OUTPUT_DIR} .pyd )
 # Add the required dependencies
-target_link_libraries ( PythonKernelModule LINK_PRIVATE Kernel ${Boost_LIBRARIES}
+target_link_libraries ( PythonKernelModule LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} Kernel ${Boost_LIBRARIES}
                         ${PYTHON_LIBRARIES} ${PYTHON_DEPS} ${POCO_LIBRARIES} )
 
 if (OSX_VERSION VERSION_GREATER 10.8)
diff --git a/Code/Mantid/Framework/PythonInterface/test/cpp/CMakeLists.txt b/Code/Mantid/Framework/PythonInterface/test/cpp/CMakeLists.txt
index 2dba58090374bd130316fb8c22cbeb5889a53f15..90d1b0b185eaa9acde4a08ba25a1558d7ec09748 100644
--- a/Code/Mantid/Framework/PythonInterface/test/cpp/CMakeLists.txt
+++ b/Code/Mantid/Framework/PythonInterface/test/cpp/CMakeLists.txt
@@ -15,7 +15,7 @@ if ( CXXTEST_FOUND )
   if ( WIN32 )
     set_target_properties( PythonInterfaceCppTest PROPERTIES COMPILE_FLAGS "/w44244" )
   endif ()
-  target_link_libraries( PythonInterfaceCppTest LINK_PRIVATE 
+  target_link_libraries( PythonInterfaceCppTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             API
             Geometry
             Kernel
diff --git a/Code/Mantid/Framework/PythonInterface/test/testhelpers/CMakeLists.txt b/Code/Mantid/Framework/PythonInterface/test/testhelpers/CMakeLists.txt
index ecdf7627e9c3832f4df961c0f5f89a64aa4d6647..efff6427f195cf8fe3fd51939e082921f101a0ba 100644
--- a/Code/Mantid/Framework/PythonInterface/test/testhelpers/CMakeLists.txt
+++ b/Code/Mantid/Framework/PythonInterface/test/testhelpers/CMakeLists.txt
@@ -32,7 +32,7 @@ set_python_properties( PythonWorkspaceCreationHelper WorkspaceCreationHelper )
 set_target_output_directory ( PythonWorkspaceCreationHelper ${OUTPUT_DIR} .pyd )
 # Override folder
 set_property ( TARGET PythonWorkspaceCreationHelper PROPERTY FOLDER "UnitTests/Python" )
-target_link_libraries ( PythonWorkspaceCreationHelper LINK_PRIVATE 
+target_link_libraries ( PythonWorkspaceCreationHelper LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             PythonAPIModule
             DataObjects
             DataHandling
diff --git a/Code/Mantid/Framework/RemoteAlgorithms/CMakeLists.txt b/Code/Mantid/Framework/RemoteAlgorithms/CMakeLists.txt
index 15642bbb5b84d047958319083251a625b0866ec6..81ca926dd3ceefd3beea0a13a7b1015f011f58ce 100644
--- a/Code/Mantid/Framework/RemoteAlgorithms/CMakeLists.txt
+++ b/Code/Mantid/Framework/RemoteAlgorithms/CMakeLists.txt
@@ -105,7 +105,7 @@ set_property ( TARGET RemoteAlgorithms PROPERTY FOLDER "MantidFramework" )
 
 include_directories ( inc )
 
-target_link_libraries ( RemoteAlgorithms LINK_PRIVATE ${MANTIDLIBS} ${GSL_LIBRARIES} )
+target_link_libraries ( RemoteAlgorithms LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${GSL_LIBRARIES} )
 
 # Add the unit tests directory
 add_subdirectory ( test )  # Note: No tests yet for many remote algorithms...
diff --git a/Code/Mantid/Framework/RemoteAlgorithms/test/CMakeLists.txt b/Code/Mantid/Framework/RemoteAlgorithms/test/CMakeLists.txt
index 2ec8b85bbeb2e73eb5f42610d0f7da7ec6f6a710..274cf8bae269bb6d9552eda86e2e74b856267a9f 100644
--- a/Code/Mantid/Framework/RemoteAlgorithms/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/RemoteAlgorithms/test/CMakeLists.txt
@@ -2,7 +2,7 @@ if ( CXXTEST_FOUND )
   include_directories ( SYSTEM ${CXXTEST_INCLUDE_DIR} ${GMOCK_INCLUDE_DIR} ${GTEST_INCLUDE_DIR} )
 
   cxxtest_add_test ( RemoteAlgorithmsTest ${TEST_FILES} )
-  target_link_libraries ( RemoteAlgorithmsTest LINK_PRIVATE 
+  target_link_libraries ( RemoteAlgorithmsTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             API
             Geometry
             Kernel
diff --git a/Code/Mantid/Framework/RemoteJobManagers/CMakeLists.txt b/Code/Mantid/Framework/RemoteJobManagers/CMakeLists.txt
index 80df6da77c32bd4af7c0eb71e6e833dddce83f54..fe794d628023425d032d4dfa7ca669f4c13bb8ff 100644
--- a/Code/Mantid/Framework/RemoteJobManagers/CMakeLists.txt
+++ b/Code/Mantid/Framework/RemoteJobManagers/CMakeLists.txt
@@ -50,7 +50,7 @@ set_property ( TARGET RemoteJobManagers PROPERTY FOLDER "MantidFramework" )
 
 include_directories ( inc )
 
-target_link_libraries ( RemoteJobManagers LINK_PRIVATE ${MANTIDLIBS} ${GSL_LIBRARIES} )
+target_link_libraries ( RemoteJobManagers LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${GSL_LIBRARIES} )
 
 # Add the unit tests directory
 add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/RemoteJobManagers/test/CMakeLists.txt b/Code/Mantid/Framework/RemoteJobManagers/test/CMakeLists.txt
index d420b22a0ca5a33ceb84c3640311dcbf315bd64d..098368c0ffbeb7272cda82992abe0112bbcdd938 100644
--- a/Code/Mantid/Framework/RemoteJobManagers/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/RemoteJobManagers/test/CMakeLists.txt
@@ -2,7 +2,7 @@ if ( CXXTEST_FOUND )
   include_directories ( SYSTEM ${CXXTEST_INCLUDE_DIR} ${GMOCK_INCLUDE_DIR} ${GTEST_INCLUDE_DIR} )
 
   cxxtest_add_test ( RemoteJobManagersTest ${TEST_FILES} )
-  target_link_libraries ( RemoteJobManagersTest LINK_PRIVATE 
+  target_link_libraries ( RemoteJobManagersTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             API
             Kernel
             RemoteJobManagers
diff --git a/Code/Mantid/Framework/SINQ/CMakeLists.txt b/Code/Mantid/Framework/SINQ/CMakeLists.txt
index 21b85961503f5642fa4cccfb753c8bd153b04744..320553816e1fbbff3ef18f7ccdd61992c06024ee 100644
--- a/Code/Mantid/Framework/SINQ/CMakeLists.txt
+++ b/Code/Mantid/Framework/SINQ/CMakeLists.txt
@@ -158,7 +158,7 @@ if ( WIN32 )
   set ( WINSOCK ws2_32 )
 endif ()
 
-target_link_libraries ( SINQ LINK_PRIVATE ${MANTIDLIBS} ${NEXUS_LIBRARIES} ${WINSOCK} )
+target_link_libraries ( SINQ LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} ${NEXUS_LIBRARIES} ${WINSOCK} )
 
 # Add the unit tests directory
 add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/SINQ/test/CMakeLists.txt b/Code/Mantid/Framework/SINQ/test/CMakeLists.txt
index 85bf46596aad5f74bd0217a1edf0444b124fb43b..5a868a37ee7ef635562650960ad61b32cd5224f5 100644
--- a/Code/Mantid/Framework/SINQ/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/SINQ/test/CMakeLists.txt
@@ -8,7 +8,7 @@ if ( CXXTEST_FOUND )
                         ../../TestHelpers/src/WorkspaceCreationHelper.cpp )
 
   cxxtest_add_test ( PSISINQTest ${TEST_FILES} ${GMOCK_TEST_FILES})
-  target_link_libraries ( PSISINQTest LINK_PRIVATE 
+  target_link_libraries ( PSISINQTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             API
             Geometry
             Kernel
diff --git a/Code/Mantid/Framework/ScriptRepository/CMakeLists.txt b/Code/Mantid/Framework/ScriptRepository/CMakeLists.txt
index 301327740d88d65ec2746429210eb3f45ff6d61e..97573e8f64f5dfb0958ffc0b84ffc02fb2fccf6e 100644
--- a/Code/Mantid/Framework/ScriptRepository/CMakeLists.txt
+++ b/Code/Mantid/Framework/ScriptRepository/CMakeLists.txt
@@ -35,6 +35,6 @@ set ( LIBS ${MANTIDLIBS} )
 
 include_directories(inc)
 
-target_link_libraries(ScriptRepository LINK_PRIVATE ${LIBS})
+target_link_libraries(ScriptRepository LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${LIBS})
 
 install (TARGETS ScriptRepository ${SYSTEM_PACKAGE_TARGET} DESTINATION ${PLUGINS_DIR} )
diff --git a/Code/Mantid/Framework/ScriptRepository/test/CMakeLists.txt b/Code/Mantid/Framework/ScriptRepository/test/CMakeLists.txt
index 4dc0564b1d99469ddc01e97c1969df36fc1399a4..16476d93da1082d6812caa6dfad7cb993a32db8b 100644
--- a/Code/Mantid/Framework/ScriptRepository/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/ScriptRepository/test/CMakeLists.txt
@@ -5,7 +5,7 @@ if ( CXXTEST_FOUND )
   include_directories ( ../ )
   
   cxxtest_add_test ( ScriptRepositoryTest ${TEST_FILES} ${GMOCK_TEST_FILES})   
-  target_link_libraries( ScriptRepositoryTest LINK_PRIVATE 
+  target_link_libraries( ScriptRepositoryTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             API
             Kernel
             ScriptRepository
diff --git a/Code/Mantid/Framework/UserAlgorithms/CMakeLists.txt b/Code/Mantid/Framework/UserAlgorithms/CMakeLists.txt
index 948f8d23234704daec7e154c4dcce54b5d5e25ec..b9fd1beb1b27725d0b2ba92809328dfcd8aeac7e 100644
--- a/Code/Mantid/Framework/UserAlgorithms/CMakeLists.txt
+++ b/Code/Mantid/Framework/UserAlgorithms/CMakeLists.txt
@@ -33,4 +33,4 @@ add_library ( UserAlgorithms EXCLUDE_FROM_ALL ${SRC_FILES} ${INC_FILES})
 # Add to the 'Framework' group in VS
 set_property ( TARGET UserAlgorithms PROPERTY FOLDER "MantidFramework" )
 
-target_link_libraries ( UserAlgorithms LINK_PRIVATE ${MANTIDLIBS} )
+target_link_libraries ( UserAlgorithms LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} )
diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/CMakeLists.txt b/Code/Mantid/Framework/WorkflowAlgorithms/CMakeLists.txt
index b1d58adca36d49bb00e3e9d58fc5e89b4348fb85..f9bc0b6b5801c1cd08e2ad228c98e5a203a2bee4 100644
--- a/Code/Mantid/Framework/WorkflowAlgorithms/CMakeLists.txt
+++ b/Code/Mantid/Framework/WorkflowAlgorithms/CMakeLists.txt
@@ -114,7 +114,7 @@ set_property ( TARGET WorkflowAlgorithms PROPERTY FOLDER "MantidFramework" )
 
 include_directories ( inc ../Nexus/inc )
 
-target_link_libraries ( WorkflowAlgorithms LINK_PRIVATE ${MANTIDLIBS} Nexus ${GSL_LIBRARIES} )
+target_link_libraries ( WorkflowAlgorithms LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTIDLIBS} Nexus ${GSL_LIBRARIES} )
 
 # Add the unit tests directory
 add_subdirectory ( test )
diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/test/CMakeLists.txt b/Code/Mantid/Framework/WorkflowAlgorithms/test/CMakeLists.txt
index 5976c015dac0388f5c463bc493a9b7f4cb6dfd5c..5a01459cbb739ae3c11d749e1a0b54ed385a4dfc 100644
--- a/Code/Mantid/Framework/WorkflowAlgorithms/test/CMakeLists.txt
+++ b/Code/Mantid/Framework/WorkflowAlgorithms/test/CMakeLists.txt
@@ -9,7 +9,7 @@ if ( CXXTEST_FOUND )
                         ../../TestHelpers/src/ComponentCreationHelper.cpp
                         ../../TestHelpers/src/WorkspaceCreationHelper.cpp )
   cxxtest_add_test ( WorkflowAlgorithmsTest ${TEST_FILES} )
-  target_link_libraries ( WorkflowAlgorithmsTest LINK_PRIVATE 
+  target_link_libraries ( WorkflowAlgorithmsTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             WorkflowAlgorithms
             API
             Algorithms
diff --git a/Code/Mantid/MantidPlot/CMakeLists.txt b/Code/Mantid/MantidPlot/CMakeLists.txt
index fba0e989736961c4035d7b60929dcfba50664314..1bf98705da2bf246cc5b1877e075041c024da7a1 100644
--- a/Code/Mantid/MantidPlot/CMakeLists.txt
+++ b/Code/Mantid/MantidPlot/CMakeLists.txt
@@ -876,7 +876,7 @@ add_executable ( MantidPlot ${WIN_CONSOLE} MACOSX_BUNDLE ${ALL_SRC} src/main.cpp
 )
 
 # Library dependencies
-target_link_libraries ( MantidPlot LINK_PRIVATE
+target_link_libraries ( MantidPlot LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             ${CORE_MANTIDLIBS}
             MantidQtAPI
             MantidWidgets
diff --git a/Code/Mantid/MantidQt/API/CMakeLists.txt b/Code/Mantid/MantidQt/API/CMakeLists.txt
index 8e9b90b75f5a9ecc0f18d1c49e744539dd931374..ee3218ff5273c9585852f33cbfc7f5f4bec30357 100644
--- a/Code/Mantid/MantidQt/API/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/API/CMakeLists.txt
@@ -132,7 +132,7 @@ if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( MantidQtAPI PROPERTIES INSTALL_RPATH "@loader_path/../MacOS")
 endif ()
 
-target_link_libraries ( MantidQtAPI LINK_PRIVATE
+target_link_libraries ( MantidQtAPI LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}
   ${CORE_MANTIDLIBS} ${QT_LIBRARIES} ${QWT_LIBRARIES}
   ${POCO_LIBRARIES} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES}
 )
diff --git a/Code/Mantid/MantidQt/API/test/CMakeLists.txt b/Code/Mantid/MantidQt/API/test/CMakeLists.txt
index c379774baa5aaff7a4e919a250d68a6714a848d3..e524aaa6ae3d16f9565a9cec900e36cbe18bbc77 100644
--- a/Code/Mantid/MantidQt/API/test/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/API/test/CMakeLists.txt
@@ -12,7 +12,7 @@ if ( CXXTEST_FOUND )
         )
     
     cxxtest_add_test ( MantidQtAPITest ${TEST_FILES} )
-    target_link_libraries( MantidQtAPITest LINK_PRIVATE 
+    target_link_libraries( MantidQtAPITest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             MantidQtAPI
             API
             DataObjects
diff --git a/Code/Mantid/MantidQt/CustomDialogs/CMakeLists.txt b/Code/Mantid/MantidQt/CustomDialogs/CMakeLists.txt
index 1bc944ea0a160627aa3eb858f77b0edc20146fcf..4640ceec1ae59660f2bfc729c22d464eebb66335 100644
--- a/Code/Mantid/MantidQt/CustomDialogs/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/CustomDialogs/CMakeLists.txt
@@ -76,7 +76,7 @@ if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( CustomDialogs PROPERTIES INSTALL_RPATH "@loader_path/../../../Contents/MacOS")
 endif () 
 
-target_link_libraries ( CustomDialogs LINK_PRIVATE 
+target_link_libraries ( CustomDialogs LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             MantidQtAPI
             MantidWidgets
             ${CORE_MANTIDLIBS}
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt b/Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt
index fb125624cfc370800c88569d1f7e5b1f9d9c2003..37ecfbafd3534f6b6818c85a0f45b98fea47a3a8 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt
@@ -408,7 +408,7 @@ endif ()
 
 find_Package(Threads)
 
-target_link_libraries ( CustomInterfaces LINK_PRIVATE
+target_link_libraries ( CustomInterfaces LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}
             MantidQtAPI
             MantidWidgets
             QtPropertyBrowser
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/test/CMakeLists.txt b/Code/Mantid/MantidQt/CustomInterfaces/test/CMakeLists.txt
index 0f1a9dd12a7a249943e68b281b29266420eedb30..90a9052d4ad7a8d395b05b89573a29a00b3dd24d 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/test/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/CustomInterfaces/test/CMakeLists.txt
@@ -11,7 +11,7 @@ if ( CXXTEST_FOUND )
 
   if ( GMOCK_FOUND AND GTEST_FOUND )
     cxxtest_add_test ( CustomInterfacesTest ${TEST_FILES} ${GMOCK_TEST_FILES} )
-    target_link_libraries( CustomInterfacesTest LINK_PRIVATE 
+    target_link_libraries( CustomInterfacesTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             CustomInterfaces
             API
             DataObjects
diff --git a/Code/Mantid/MantidQt/DesignerPlugins/CMakeLists.txt b/Code/Mantid/MantidQt/DesignerPlugins/CMakeLists.txt
index cb124f6dca27c4078b8548adf913d19a03b6bf83..41a2c208db9d6e9fd25686b9a8258ff86368733f 100644
--- a/Code/Mantid/MantidQt/DesignerPlugins/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/DesignerPlugins/CMakeLists.txt
@@ -44,7 +44,7 @@ set_target_properties ( DesignerPlugins PROPERTIES OUTPUT_NAME ${LIB_NAME} )
 set_target_properties( DesignerPlugins PROPERTIES EXCLUDE_FROM_ALL TRUE )
 
 # Set the library dependencies
-target_link_libraries ( DesignerPlugins LINK_PRIVATE 
+target_link_libraries ( DesignerPlugins LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             MantidWidgets
             MantidQtSliceViewer
             MantidQtAPI
diff --git a/Code/Mantid/MantidQt/Factory/CMakeLists.txt b/Code/Mantid/MantidQt/Factory/CMakeLists.txt
index de10923239aea92a7672443e4253fb8c94c834b8..90cae64d572d13dd0cb018a915f9bc5e6b7a9852 100644
--- a/Code/Mantid/MantidQt/Factory/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/Factory/CMakeLists.txt
@@ -44,7 +44,7 @@ if (OSX_VERSION VERSION_GREATER 10.8)
 endif ()
 
 # ... and links to other required libs
-target_link_libraries ( MantidQtFactory LINK_PRIVATE 
+target_link_libraries ( MantidQtFactory LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             MantidQtAPI
             MantidQtSliceViewer
             ${CORE_MANTIDLIBS}
diff --git a/Code/Mantid/MantidQt/MantidWidgets/CMakeLists.txt b/Code/Mantid/MantidQt/MantidWidgets/CMakeLists.txt
index 3d5f0c603ddf28838ae4f2693719386b6026a668..d00ae498cb46115965a0d3114c16cbf063ff288b 100644
--- a/Code/Mantid/MantidQt/MantidWidgets/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/MantidWidgets/CMakeLists.txt
@@ -163,7 +163,7 @@ if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( MantidWidgets PROPERTIES INSTALL_RPATH "@loader_path/../MacOS")
 endif ()
 
-target_link_libraries ( MantidWidgets LINK_PRIVATE 
+target_link_libraries ( MantidWidgets LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             MantidQtAPI
             QtPropertyBrowser
             ${CORE_MANTIDLIBS}
diff --git a/Code/Mantid/MantidQt/MantidWidgets/test/CMakeLists.txt b/Code/Mantid/MantidQt/MantidWidgets/test/CMakeLists.txt
index cd464147d0da6666df57678a2e2add8fdf2c124d..826d94f980a44446b2b20515d8d5b85a6444ba30 100644
--- a/Code/Mantid/MantidQt/MantidWidgets/test/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/MantidWidgets/test/CMakeLists.txt
@@ -2,7 +2,7 @@ if ( CXXTEST_FOUND )
   include_directories ( SYSTEM ${CXXTEST_INCLUDE_DIR} ${GMOCK_INCLUDE_DIR} ${GTEST_INCLUDE_DIR} )
 
   cxxtest_add_test ( MantidWidgetsTest ${TEST_FILES} )
-  target_link_libraries( MantidWidgetsTest LINK_PRIVATE 
+  target_link_libraries( MantidWidgetsTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             MantidWidgets
             API
             Geometry
diff --git a/Code/Mantid/MantidQt/Python/CMakeLists.txt b/Code/Mantid/MantidQt/Python/CMakeLists.txt
index 5f35cf479dfc1b533ece0e7acaa00f0d107d2f2d..c5821c7819d8a6377a613b89a6d8d75c17984600 100644
--- a/Code/Mantid/MantidQt/Python/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/Python/CMakeLists.txt
@@ -87,7 +87,7 @@ else ()
 endif ()
 
 # ... and links to other required libs ...
-target_link_libraries ( mantidqtpython LINK_PRIVATE 
+target_link_libraries ( mantidqtpython LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             MantidQtAPI
             MantidQtSliceViewer
             MantidQtFactory
diff --git a/Code/Mantid/MantidQt/RefDetectorViewer/CMakeLists.txt b/Code/Mantid/MantidQt/RefDetectorViewer/CMakeLists.txt
index d3c22f3a96de166d2131da7caf47f947add629eb..70eecb68944a6b47bb8b074b6f03148309452ffc 100644
--- a/Code/Mantid/MantidQt/RefDetectorViewer/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/RefDetectorViewer/CMakeLists.txt
@@ -63,7 +63,7 @@ if (OSX_VERSION VERSION_GREATER 10.8)
 endif ()
 
 # ... and links to other required libs
-target_link_libraries ( MantidQtRefDetectorViewer LINK_PRIVATE 
+target_link_libraries ( MantidQtRefDetectorViewer LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             MantidQtSpectrumViewer
             ${CORE_MANTIDLIBS}
             ${Boost_LIBRARIES}
@@ -77,7 +77,7 @@ target_link_libraries ( MantidQtRefDetectorViewer LINK_PRIVATE
 ###########################################################################
 
 add_executable ( RefDetectorViewDemo EXCLUDE_FROM_ALL src/RefDetectorViewDemo.cpp )
-target_link_libraries ( RefDetectorViewDemo LINK_PRIVATE 
+target_link_libraries ( RefDetectorViewDemo LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             MantidQtRefDetectorViewer
             MantidQtSpectrumViewer
             ${Boost_LIBRARIES}
diff --git a/Code/Mantid/MantidQt/SliceViewer/CMakeLists.txt b/Code/Mantid/MantidQt/SliceViewer/CMakeLists.txt
index 02ce58efc0b5be5474502527b99a510a1103edbe..f1c8bc6f894b4e596e2f6fddf82dd4acc0f6cfe7 100644
--- a/Code/Mantid/MantidQt/SliceViewer/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/SliceViewer/CMakeLists.txt
@@ -155,7 +155,7 @@ if (OSX_VERSION VERSION_GREATER 10.8)
 endif ()
 
 # ... and links to other required libs
-target_link_libraries ( MantidQtSliceViewer LINK_PRIVATE 
+target_link_libraries ( MantidQtSliceViewer LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             MantidQtAPI
             MantidWidgets
             DataObjects
@@ -184,7 +184,7 @@ if ( CXXTEST_FOUND )
   )
 
   cxxtest_add_test ( SliceViewerTest ${TEST_FILES} ${GMOCK_TEST_FILES} )
-  target_link_libraries( SliceViewerTest LINK_PRIVATE
+  target_link_libraries( SliceViewerTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}
             MantidQtSliceViewer
             DataObjects
             Crystal
diff --git a/Code/Mantid/MantidQt/SpectrumViewer/CMakeLists.txt b/Code/Mantid/MantidQt/SpectrumViewer/CMakeLists.txt
index e7cc1bb2332a6e644c50228f2e6ef1a608da9b7c..abdbe33157e217090e31e94fddeb2cad27464b3d 100644
--- a/Code/Mantid/MantidQt/SpectrumViewer/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/SpectrumViewer/CMakeLists.txt
@@ -82,7 +82,7 @@ if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( MantidQtSpectrumViewer PROPERTIES INSTALL_RPATH "@loader_path/../MacOS")
 endif ()
 # ... and links to other required libs
-target_link_libraries ( MantidQtSpectrumViewer LINK_PRIVATE 
+target_link_libraries ( MantidQtSpectrumViewer LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
             MantidQtAPI
             MantidWidgets
             ${CORE_MANTIDLIBS}
diff --git a/Code/Mantid/QtPropertyBrowser/CMakeLists.txt b/Code/Mantid/QtPropertyBrowser/CMakeLists.txt
index e2571a6f32ec311c04dffc6ffda3a93fb68cff7e..73c3080700f303abbd184a726f1855d52abae41d 100644
--- a/Code/Mantid/QtPropertyBrowser/CMakeLists.txt
+++ b/Code/Mantid/QtPropertyBrowser/CMakeLists.txt
@@ -131,7 +131,7 @@ if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( ${PROJECT_NAME} PROPERTIES INSTALL_RPATH "@loader_path/../MacOS")
 endif ()
 
-target_link_libraries ( ${PROJECT_NAME} LINK_PRIVATE ${QT_LIBRARIES} )
+target_link_libraries ( ${PROJECT_NAME} LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${QT_LIBRARIES} )
 
 if ( WIN32 )
   add_definitions ( -DQT_QTPROPERTYBROWSER_EXPORT )
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/PeaksFilter/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/PeaksFilter/CMakeLists.txt
index e7494ef200c8c1b2985293240fff7b9f1399dd44..992539256dadc60463e2473776aa682be4e71193 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/PeaksFilter/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/PeaksFilter/CMakeLists.txt
@@ -6,7 +6,7 @@ SERVER_MANAGER_SOURCES vtkPeaksFilter.cxx)
 # Add to the 'VatesParaViewPlugins' group in VS
 set_property( TARGET MantidParaViewPeaksFilterSMPlugin PROPERTY FOLDER "MantidVatesParaViewPlugins")
 
-target_link_libraries( MantidParaViewPeaksFilterSMPlugin LINK_PRIVATE 
+target_link_libraries( MantidParaViewPeaksFilterSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${MANTID_SUBPROJECT_LIBS} 
 ${POCO_LIBRARIES}
 ${Boost_LIBRARIES}
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/ScaleWorkspace/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/ScaleWorkspace/CMakeLists.txt
index 96ea5acf58d309bd7805ed4a82edeaac926c6ab6..fec539e6edf18c57c5df0c089a3ce0e7de5a1eab 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/ScaleWorkspace/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/ScaleWorkspace/CMakeLists.txt
@@ -6,7 +6,7 @@ SERVER_MANAGER_SOURCES vtkScaleWorkspace.cxx)
 # Add to the 'VatesParaViewPlugins' group in VS
 set_property( TARGET MantidParaViewScaleWorkspaceSMPlugin PROPERTY FOLDER "MantidVatesParaViewPlugins")
 
-target_link_libraries( MantidParaViewScaleWorkspaceSMPlugin LINK_PRIVATE 
+target_link_libraries( MantidParaViewScaleWorkspaceSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${MANTID_SUBPROJECT_LIBS} 
 ${JSONCPP_LIBRARIES}
 )
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/SplatterPlot/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/SplatterPlot/CMakeLists.txt
index 6d59070ce8be6992a807b6133ee73aedc6186b11..551a729a44e0cc4856a2c62737e7cbff919c3a08 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/SplatterPlot/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/SplatterPlot/CMakeLists.txt
@@ -10,7 +10,7 @@ set_property( TARGET MantidParaViewSplatterPlotSMPlugin PROPERTY FOLDER "MantidV
 
 include_directories ( SYSTEM ${QWT_INCLUDE_DIR} )
 
-target_link_libraries( MantidParaViewSplatterPlotSMPlugin LINK_PRIVATE  
+target_link_libraries( MantidParaViewSplatterPlotSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME}  
 ${MANTID_SUBPROJECT_LIBS}
 ${POCO_LIBRARIES}
 ${Boost_LIBRARIES}
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/EventNexusReader/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/EventNexusReader/CMakeLists.txt
index eef104351fa16fd34111d7899f9714eddf4464a2..5cd5a8d22eff5d680ea96b0fcfe576a76f8a636c 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/EventNexusReader/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/EventNexusReader/CMakeLists.txt
@@ -10,7 +10,7 @@ set_property( TARGET MantidParaViewEventNexusReaderSMPlugin PROPERTY FOLDER "Man
 
 include_directories ( SYSTEM ${QWT_INCLUDE_DIR} )
 
-target_link_libraries( MantidParaViewEventNexusReaderSMPlugin LINK_PRIVATE 
+target_link_libraries( MantidParaViewEventNexusReaderSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${MANTID_SUBPROJECT_LIBS} 
 ${POCO_LIBRARIES}
 ${Boost_LIBRARIES}
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/MDEWNexusReader/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/MDEWNexusReader/CMakeLists.txt
index 4aafceb5cf97108a4247fae62870ae0cca1a0e45..208fa967f194c9ce9a69ee95c9befbb0e30dc131 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/MDEWNexusReader/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/MDEWNexusReader/CMakeLists.txt
@@ -10,7 +10,7 @@ set_property( TARGET MantidParaViewMDEWNexusReaderSMPlugin PROPERTY FOLDER "Mant
 
 include_directories ( SYSTEM ${QWT_INCLUDE_DIR} )
 
-target_link_libraries( MantidParaViewMDEWNexusReaderSMPlugin LINK_PRIVATE 
+target_link_libraries( MantidParaViewMDEWNexusReaderSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${MANTID_SUBPROJECT_LIBS} 
 ${POCO_LIBRARIES}
 ${Boost_LIBRARIES}
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/MDHWNexusReader/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/MDHWNexusReader/CMakeLists.txt
index 9f48a74a7b79ce7d622be4d3095252b788032131..ee0be013f5dc96077a2a803aa8826dfb1f4cb260 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/MDHWNexusReader/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/MDHWNexusReader/CMakeLists.txt
@@ -10,7 +10,7 @@ set_property( TARGET MantidParaViewMDHWNexusReaderSMPlugin PROPERTY FOLDER "Mant
 
 include_directories ( SYSTEM ${QWT_INCLUDE_DIR} )
 
-target_link_libraries( MantidParaViewMDHWNexusReaderSMPlugin LINK_PRIVATE 
+target_link_libraries( MantidParaViewMDHWNexusReaderSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${MANTID_SUBPROJECT_LIBS} 
 ${POCO_LIBRARIES}
 ${Boost_LIBRARIES}
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/NexusPeaksReader/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/NexusPeaksReader/CMakeLists.txt
index a348ff3bfb6f6aa8e10e39fbd3ba08461bf5c7c8..2d3b360165a2703636a3a23decbace4fc7693956 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/NexusPeaksReader/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/NexusPeaksReader/CMakeLists.txt
@@ -8,7 +8,7 @@ add_paraview_plugin( MantidParaViewNexusPeaksReaderSMPlugin "1.0"
 # Add to the 'VatesParaViewPlugins' group in VS
 set_property( TARGET MantidParaViewNexusPeaksReaderSMPlugin PROPERTY FOLDER "MantidVatesParaViewPlugins" )
 
-target_link_libraries( MantidParaViewNexusPeaksReaderSMPlugin LINK_PRIVATE 
+target_link_libraries( MantidParaViewNexusPeaksReaderSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${MANTID_SUBPROJECT_LIBS} 
 ${POCO_LIBRARIES}
 ${Boost_LIBRARIES}
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/PeaksReader/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/PeaksReader/CMakeLists.txt
index 1673cbf7158438188fcd39659933ec4771153d3e..5d545398e241136bb8e7057c4d3610fe8f6de838 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/PeaksReader/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/PeaksReader/CMakeLists.txt
@@ -8,7 +8,7 @@ add_paraview_plugin( MantidParaViewPeaksReaderSMPlugin "1.0"
 # Add to the 'VatesParaViewPlugins' group in VS
 set_property( TARGET MantidParaViewPeaksReaderSMPlugin PROPERTY FOLDER "MantidVatesParaViewPlugins" )
 
-target_link_libraries( MantidParaViewPeaksReaderSMPlugin LINK_PRIVATE 
+target_link_libraries( MantidParaViewPeaksReaderSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${MANTID_SUBPROJECT_LIBS} 
 ${POCO_LIBRARIES}
 ${Boost_LIBRARIES}
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/SQWEventReader/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/SQWEventReader/CMakeLists.txt
index 91b4fe432e6a8b0c587c3054c2a6b540ac2ad431..ec154582bbec77a5694a66ea97e7422c9529fd9f 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/SQWEventReader/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewReaders/SQWEventReader/CMakeLists.txt
@@ -10,7 +10,7 @@ set_property( TARGET MantidParaViewSQWEventReaderSMPlugin PROPERTY FOLDER "Manti
 
 include_directories ( SYSTEM ${QWT_INCLUDE_DIR} )
 
-target_link_libraries( MantidParaViewSQWEventReaderSMPlugin LINK_PRIVATE 
+target_link_libraries( MantidParaViewSQWEventReaderSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${MANTID_SUBPROJECT_LIBS} 
 ${POCO_LIBRARIES}
 ${Boost_LIBRARIES}
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/MDEWSource/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/MDEWSource/CMakeLists.txt
index 5e6f2374180edd9527e83bb7198c6dcc6db6b9d5..c7211050b84257a4001c0421f6c7a77d60c9f6c8 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/MDEWSource/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/MDEWSource/CMakeLists.txt
@@ -8,7 +8,7 @@ ADD_PARAVIEW_PLUGIN(MantidParaViewMDEWSourceSMPlugin "1.0"
 set_property( TARGET MantidParaViewMDEWSourceSMPlugin PROPERTY FOLDER "MantidVatesParaViewPlugins" )
 
 include_directories ( SYSTEM ${QWT_INCLUDE_DIR} )
-target_link_libraries( MantidParaViewMDEWSourceSMPlugin LINK_PRIVATE 
+target_link_libraries( MantidParaViewMDEWSourceSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${MANTID_SUBPROJECT_LIBS} 
 ${POCO_LIBRARIES}
 ${Boost_LIBRARIES}
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/MDHWSource/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/MDHWSource/CMakeLists.txt
index 707581964b7d5927350a02f2ac4f0dd426d16869..a44aff01de143c24f5d2df2b543c5448662b421a 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/MDHWSource/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/MDHWSource/CMakeLists.txt
@@ -9,7 +9,7 @@ set_property( TARGET MantidParaViewMDHWSourceSMPlugin PROPERTY FOLDER "MantidVat
 
 include_directories ( SYSTEM ${QWT_INCLUDE_DIR} )
 
-target_link_libraries( MantidParaViewMDHWSourceSMPlugin LINK_PRIVATE 
+target_link_libraries( MantidParaViewMDHWSourceSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${MANTID_SUBPROJECT_LIBS} 
 ${POCO_LIBRARIES}
 ${Boost_LIBRARIES}
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/PeaksSource/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/PeaksSource/CMakeLists.txt
index ee4fb49dc65b6e27a0c9c93fee6802999b898d0e..5727975cf6083e045d0a7dfe8a154f3e561631af 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/PeaksSource/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/PeaksSource/CMakeLists.txt
@@ -7,7 +7,7 @@ ADD_PARAVIEW_PLUGIN(MantidParaViewPeaksSourceSMPlugin "1.0"
 # Add to the 'VatesParaViewPlugins' group in VS
 set_property( TARGET MantidParaViewPeaksSourceSMPlugin PROPERTY FOLDER "MantidVatesParaViewPlugins" )
 
-target_link_libraries( MantidParaViewPeaksSourceSMPlugin LINK_PRIVATE 
+target_link_libraries( MantidParaViewPeaksSourceSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${MANTID_SUBPROJECT_LIBS} 
 ${POCO_LIBRARIES}
 ${Boost_LIBRARIES}
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/SinglePeakMarkerSource/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/SinglePeakMarkerSource/CMakeLists.txt
index 7e92e41c998ea928f42dc008ed6770fedb04d3a9..550e0e5001a7962ddf54dacd0b04f77c3dca7ca4 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/SinglePeakMarkerSource/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewSources/SinglePeakMarkerSource/CMakeLists.txt
@@ -7,7 +7,7 @@ ADD_PARAVIEW_PLUGIN(MantidParaViewSinglePeakMarkerSourceSMPlugin "1.0"
 # Add to the 'VatesParaViewPlugins' group in VS
 set_property( TARGET MantidParaViewSinglePeakMarkerSourceSMPlugin  PROPERTY FOLDER "MantidVatesParaViewPlugins" )
 
-target_link_libraries( MantidParaViewSinglePeakMarkerSourceSMPlugin LINK_PRIVATE ${MANTID_SUBPROJECT_LIBS} )
+target_link_libraries( MantidParaViewSinglePeakMarkerSourceSMPlugin LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} ${MANTID_SUBPROJECT_LIBS} )
 
 if (OSX_VERSION VERSION_GREATER 10.8)
   set_target_properties ( MantidParaViewSinglePeakMarkerSourceSMPlugin PROPERTIES INSTALL_RPATH "@loader_path/../../Contents/Libraries;@loader_path/../../Contents/MacOS")
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/CMakeLists.txt
index 70f61b908f0220e2b066b150a36b41c63ef5ebf0..3e0774ec72bc1363e5dcbc1c94fd3c7476c31bd1 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/CMakeLists.txt
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/CMakeLists.txt
@@ -37,7 +37,7 @@ project( MantidParaViewQtWidgets )
 add_library( MantidParaViewQtWidgets ${SRC_FILES} ${MOCCED_FILES} ${INC_FILES} ) 
 # Add to the 'Vates' group in VS
 set_property( TARGET MantidParaViewQtWidgets PROPERTY FOLDER "MantidVates" )
-target_link_libraries( MantidParaViewQtWidgets LINK_PRIVATE 
+target_link_libraries( MantidParaViewQtWidgets LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 vtkRenderingFreeType
 ${QT_LIBRARIES} 
 ${MANTID_SUBPROJECT_LIBS} )
diff --git a/Code/Mantid/Vates/VatesAPI/CMakeLists.txt b/Code/Mantid/Vates/VatesAPI/CMakeLists.txt
index 393183c733556be6dc8dbe61cdf792b241585340..1702d6b63b936e2662838849ccd3d7fa1fdc3130 100644
--- a/Code/Mantid/Vates/VatesAPI/CMakeLists.txt
+++ b/Code/Mantid/Vates/VatesAPI/CMakeLists.txt
@@ -205,7 +205,7 @@ set_target_properties( VatesAPI PROPERTIES OUTPUT_NAME MantidVatesAPI )
 set_property( TARGET VatesAPI PROPERTY FOLDER "MantidVates" )
 
 
-target_link_libraries( VatesAPI LINK_PRIVATE 
+target_link_libraries( VatesAPI LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${MANTID_SUBPROJECT_LIBS} 
 vtkCommonCore
 vtkCommonDataModel
@@ -234,7 +234,7 @@ if( CXXTEST_FOUND AND GMOCK_FOUND AND GTEST_FOUND )
                         ../../Framework/TestHelpers/src/MDEventsTestHelper.cpp 
                         ../../Framework/TestHelpers/src/StartFrameworkManager.cpp )
   cxxtest_add_test( VatesAPITest ${TEST_FILES} )
-  target_link_libraries( VatesAPITest LINK_PRIVATE 
+  target_link_libraries( VatesAPITest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
   ${MANTID_SUBPROJECT_LIBS} 
   VatesAPI 
   DataHandling 
diff --git a/Code/Mantid/Vates/VatesSimpleGui/QtWidgets/CMakeLists.txt b/Code/Mantid/Vates/VatesSimpleGui/QtWidgets/CMakeLists.txt
index 6defe21deadfa664b0b6aff7dbaebc44fb2ab2ba..120888c64dfebaf516580a20a9e7ed061d0073f7 100644
--- a/Code/Mantid/Vates/VatesSimpleGui/QtWidgets/CMakeLists.txt
+++ b/Code/Mantid/Vates/VatesSimpleGui/QtWidgets/CMakeLists.txt
@@ -57,7 +57,7 @@ set_target_properties( VatesSimpleGuiQtWidgets PROPERTIES OUTPUT_NAME MantidVate
 # Add to the 'VatesSimpleGui' group in VS
 set_property( TARGET VatesSimpleGuiQtWidgets PROPERTY FOLDER MantidVatesSimpleGui )
 
-target_link_libraries( VatesSimpleGuiQtWidgets  LINK_PRIVATE 
+target_link_libraries( VatesSimpleGuiQtWidgets  LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 ${POCO_LIBRARIES}
 ${QT_LIBRARIES}
 ${QWT_LIBRARIES}
diff --git a/Code/Mantid/Vates/VatesSimpleGui/StandAloneExec/CMakeLists.txt b/Code/Mantid/Vates/VatesSimpleGui/StandAloneExec/CMakeLists.txt
index 411e660230bd5bc704fc9115718974090f9b2c87..2bdfc7277df66faf5af88b406bf70dfb58cce8c1 100644
--- a/Code/Mantid/Vates/VatesSimpleGui/StandAloneExec/CMakeLists.txt
+++ b/Code/Mantid/Vates/VatesSimpleGui/StandAloneExec/CMakeLists.txt
@@ -40,7 +40,7 @@ add_executable( ${PROJECT_NAME} ${INCLUDE_FILES} ${SOURCE_FILES} ${MOC_SRCS} )
 
 include_directories( SYSTEM ${PARAVIEW_INCLUDE_DIRS} )
 
-target_link_libraries( ${PROJECT_NAME} LINK_PRIVATE 
+target_link_libraries( ${PROJECT_NAME} LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 pqCore pqComponents pqApplicationComponents
 ${QT_LIBRARIES}
 ${MANTID_SUBPROJECT_LIBS}
diff --git a/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/CMakeLists.txt b/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/CMakeLists.txt
index 939d3b12451870f97ddcc9a985b429431bffa447..5930ecae3ffe9d994dd001d30306c2c7294b42bb 100644
--- a/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/CMakeLists.txt
+++ b/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/CMakeLists.txt
@@ -134,7 +134,7 @@ set_property( TARGET VatesSimpleGuiViewWidgets PROPERTY FOLDER MantidVatesSimple
 
 include_directories( SYSTEM ${PARAVIEW_INCLUDE_DIRS} )
 
-target_link_libraries( VatesSimpleGuiViewWidgets LINK_PRIVATE 
+target_link_libraries( VatesSimpleGuiViewWidgets LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
 pqApplicationComponents
 pqComponents
 vtkPVServerManagerRendering
@@ -168,7 +168,7 @@ if( CXXTEST_FOUND AND GMOCK_FOUND AND GTEST_FOUND )
                         ../../../Framework/TestHelpers/src/StartFrameworkManager.cpp )
   cxxtest_add_test( VatesSimpleGuiViewWidgetsTest ${TEST_FILES} )
   
-  target_link_libraries( VatesSimpleGuiViewWidgetsTest LINK_PRIVATE 
+  target_link_libraries( VatesSimpleGuiViewWidgetsTest LINK_PRIVATE ${TCMALLOC_LIBRARIES_LINKTIME} 
   VatesSimpleGuiViewWidgets 
   DataHandling 
   Kernel