3 # - Find Google perftools
4 # Find the Google perftools includes and libraries
6 # GOOGLE_PERFTOOLS_INCLUDE_DIR, where to find heap-profiler.h, etc.
7 # GOOGLE_PERFTOOLS_FOUND, If false, do not try to use Google perftools.
8 # also defined for general use are
9 # TCMALLOC_LIBRARIES, where to find the tcmalloc library.
10 # STACKTRACE_LIBRARIES, where to find the stacktrace library.
11 # PROFILER_LIBRARIES, where to find the profiler library.
13 FIND_PATH(GOOGLE_PERFTOOLS_INCLUDE_DIR google/heap-profiler.h
18 SET(TCMALLOC_NAMES ${TCMALLOC_NAMES} tcmalloc_and_profiler)
19 FIND_LIBRARY(TCMALLOC_LIBRARY
20 NAMES ${TCMALLOC_NAMES}
21 PATHS /usr/lib /usr/local/lib
24 IF (TCMALLOC_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
25 SET(TCMALLOC_LIBRARIES ${TCMALLOC_LIBRARY})
26 SET(GOOGLE_PERFTOOLS_FOUND "YES")
27 ELSE (TCMALLOC_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
28 SET(GOOGLE_PERFTOOLS_FOUND "NO")
29 ENDIF (TCMALLOC_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
31 SET(STACKTRACE_NAMES ${STACKTRACE_NAMES} stacktrace)
32 FIND_LIBRARY(STACKTRACE_LIBRARY
33 NAMES ${STACKTRACE_LIBRARY}
34 PATHS /usr/lib /usr/local/lib
37 IF (STACKTRACE_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
38 SET(STACKTRACE_LIBRARIES ${STACKTRACE_LIBRARY})
39 ENDIF (STACKTRACE_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
41 SET(PROFILER_NAMES ${PROFILER_NAMES} profiler)
42 FIND_LIBRARY(PROFILER_LIBRARY
43 NAMES ${PROFILER_LIBRARY}
44 PATHS /usr/lib /usr/local/lib
47 IF (PROFILER_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
48 SET(PROFILER_LIBRARIES ${PROFILER_LIBRARY})
49 ENDIF (PROFILER_LIBRARY AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
51 IF (GOOGLE_PERFTOOLS_FOUND)
52 IF (NOT GOOGLE_PERFTOOLS_FIND_QUIETLY)
53 MESSAGE(STATUS "Found Google perftools: ${GOOGLE_PERFTOOLS_LIBRARIES}")
54 ENDIF (NOT GOOGLE_PERFTOOLS_FIND_QUIETLY)
55 ELSE (GOOGLE_PERFTOOLS_FOUND)
56 IF (GOOGLE_PERFTOOLS_FIND_REQUIRED)
57 MESSAGE(FATAL_ERROR "Could not find Google perftools library")
58 ENDIF (GOOGLE_PERFTOOLS_FIND_REQUIRED)
59 ENDIF (GOOGLE_PERFTOOLS_FOUND)
65 GOOGLE_PERFTOOLS_INCLUDE_DIR