summaryrefslogtreecommitdiff
path: root/indra/cmake/GooglePerfTools.cmake
blob: c1faeb9325241f4f54298fb6b97d9ddc3cd68b97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# -*- cmake -*-
include(Prebuilt)

# If you want to enable or disable TCMALLOC in viewer builds, this is the place.
# set ON or OFF as desired.
set (USE_TCMALLOC OFF)

if (USESYSTEMLIBS)
  include(FindGooglePerfTools)
else (USESYSTEMLIBS)
  if (WINDOWS)
    if (USE_TCMALLOC)
       use_prebuilt_binary(gperftools)
       set(TCMALLOC_LIBRARIES 
         debug libtcmalloc_minimal-debug
         optimized libtcmalloc_minimal)
       set(TCMALLOC_LINK_FLAGS  "/INCLUDE:__tcmalloc")
    else (USE_TCMALLOC)
      set(TCMALLOC_LIBRARIES)
      set(TCMALLOC_LINK_FLAGS)
    endif (USE_TCMALLOC)
    set(GOOGLE_PERFTOOLS_FOUND "YES")
  endif (WINDOWS)
  if (LINUX)
    if (USE_TCMALLOC)
      use_prebuilt_binary(gperftools)
      set(TCMALLOC_LIBRARIES 
        tcmalloc)
    else (USE_TCMALLOC)
      set(TCMALLOC_LIBRARIES)
    endif (USE_TCMALLOC)
    set(PROFILER_LIBRARIES profiler)
    set(GOOGLE_PERFTOOLS_INCLUDE_DIR
        ${LIBS_PREBUILT_DIR}/include)
    set(GOOGLE_PERFTOOLS_FOUND "YES")
  endif (LINUX)
endif (USESYSTEMLIBS)

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)
   set(USE_GOOGLE_PERFTOOLS ON)
endif (WINDOWS)

if (USE_GOOGLE_PERFTOOLS)
  if (USE_TCMALLOC)
    set(TCMALLOC_FLAG -DLL_USE_TCMALLOC=1)
  else (USE_TCMALLOC)
    set(TCMALLOC_FLAG -ULL_USE_TCMALLOC)
  endif (USE_TCMALLOC)
endif (USE_GOOGLE_PERFTOOLS)

if (USE_GOOGLE_PERFTOOLS)
  include_directories(${GOOGLE_PERFTOOLS_INCLUDE_DIR})
  set(GOOGLE_PERFTOOLS_LIBRARIES ${TCMALLOC_LIBRARIES} ${STACKTRACE_LIBRARIES} ${PROFILER_LIBRARIES})
else (USE_GOOGLE_PERFTOOLS)
endif (USE_GOOGLE_PERFTOOLS)