summaryrefslogtreecommitdiff
path: root/indra/cmake/GooglePerfTools.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'indra/cmake/GooglePerfTools.cmake')
-rw-r--r--indra/cmake/GooglePerfTools.cmake42
1 files changed, 42 insertions, 0 deletions
diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake
new file mode 100644
index 0000000000..946fc6b375
--- /dev/null
+++ b/indra/cmake/GooglePerfTools.cmake
@@ -0,0 +1,42 @@
+# -*- cmake -*-
+include(Prebuilt)
+
+if (STANDALONE)
+ include(FindGooglePerfTools)
+else (STANDALONE)
+ use_prebuilt_binary(google)
+ if (WINDOWS)
+ use_prebuilt_binary(google-perftools)
+ set(TCMALLOC_LIBRARIES
+ debug libtcmalloc_minimal-debug
+ optimized libtcmalloc_minimal)
+ set(GOOGLE_PERFTOOLS_FOUND "YES")
+ endif (WINDOWS)
+ if (LINUX)
+ set(TCMALLOC_LIBRARIES tcmalloc)
+ set(STACKTRACE_LIBRARIES stacktrace)
+ set(PROFILER_LIBRARIES profiler)
+ set(GOOGLE_PERFTOOLS_INCLUDE_DIR
+ ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include)
+ set(GOOGLE_PERFTOOLS_FOUND "YES")
+ endif (LINUX)
+endif (STANDALONE)
+
+if (GOOGLE_PERFTOOLS_FOUND)
+ # XXX Disable temporarily, until we have compilation issues on 64-bit
+ # Etch sorted.
+ set(USE_GOOGLE_PERFTOOLS OFF CACHE BOOL "Build with Google PerfTools support.")
+endif (GOOGLE_PERFTOOLS_FOUND)
+
+if (WINDOWS)
+ # *TODO -reenable this once we get server usage sorted out
+ #set(USE_GOOGLE_PERFTOOLS ON)
+endif (WINDOWS)
+
+if (USE_GOOGLE_PERFTOOLS)
+ set(TCMALLOC_FLAG -DLL_USE_TCMALLOC=1)
+ include_directories(${GOOGLE_PERFTOOLS_INCLUDE_DIR})
+ set(GOOGLE_PERFTOOLS_LIBRARIES ${TCMALLOC_LIBRARIES} ${STACKTRACE_LIBRARIES} ${PROFILER_LIBRARIES})
+else (USE_GOOGLE_PERFTOOLS)
+ set(TCMALLOC_FLAG -ULL_USE_TCMALLOC)
+endif (USE_GOOGLE_PERFTOOLS)