diff options
Diffstat (limited to 'cryptominisat5/cryptominisat-5.6.3/cmake/FindPerftools.cmake')
-rw-r--r-- | cryptominisat5/cryptominisat-5.6.3/cmake/FindPerftools.cmake | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/cryptominisat5/cryptominisat-5.6.3/cmake/FindPerftools.cmake b/cryptominisat5/cryptominisat-5.6.3/cmake/FindPerftools.cmake new file mode 100644 index 000000000..f40ace7cd --- /dev/null +++ b/cryptominisat5/cryptominisat-5.6.3/cmake/FindPerftools.cmake @@ -0,0 +1,139 @@ +# - Try to find Google perftools include dirs and libraries +# +# Usage of this module as follows: +# +# find_package(Perftools) +# +# Variables used by this module, they can change the default behaviour and need +# to be set before calling find_package: +# +# PERFTOOLS_ROOT Preferred installation prefix for searching for +# Perftools, set this if the module has problems +# finding the proper installation path. +# PERFTOOLS_INCLUDEDIR Set this to the include directory of the Google +# perftools, if the module has problems finding the +# installation path. +# PERFTOOLS_LIBRARYDIR Set this to the library directory of the Google +# perftools if the module has problems finding the +# proper installation path. +# +# Variables defined by this module: +# +# Perftools_FOUND System has Google perftools, this means the +# include dir and all the libraries were found. +# Perftools_INCLUDE_DIRS Google perftools include directories. +# Perftools_LIBRARIES Link these to use the Google perftools libraries. +# +# Perftools_TCMALLOC_LIBRARY Path to the tcmalloc library. +# Perftools_STACKTRACE_LIBRARY Path to the stacktrace library. +# Perftools_PROFILER_LIBRARY Path to the profiler library. + +if (PERFTOOLS_ROOT) + set(Perftools_ADDITIONAL_INCLUDE_SEARCH_DIRS ${PERFTOOLS_ROOT}/include) + set(Perftools_ADDITIONAL_LIBRARY_SEARCH_DIRS ${PERFTOOLS_ROOT}/lib) +endif () + +if (PERFTOOLS_INCLUDEDIR) + set(Perftools_ADDITIONAL_INCLUDE_SEARCH_DIRS ${PERFTOOLS_ROOT}/include) +endif () + +if (PERFTOOLS_LIBRARYDIR) + set(Perftools_ADDITIONAL_LIBRARY_SEARCH_DIRS ${PERFTOOLS_ROOT}/lib) +endif () + + +if (Perftools_LIBRARIES AND Perftools_INCLUDE_DIRS) + # In cache already. + set(Perftools_FOUND true) +else () + find_path(Perftools_INCLUDE_DIRS + NAMES + google/heap-profiler.h + PATHS + ${Perftools_ADDITIONAL_INCLUDE_SEARCH_DIRS} + /usr/local/include + /opt/local/include + /sw/include + /usr/include + ) + + # tcmalloc + set(tcmalloc_names ${tcmalloc_names} tcmalloc) + find_library(perftools_tcmalloc_library + NAMES + ${tcmalloc_names} + PATHS + ${Perftools_ADDITIONAL_LIBRARY_SEARCH_DIRS} + /usr/local/lib + /opt/local/lib + /sw/lib + /usr/lib + ) + + if (perftools_tcmalloc_library AND Perftools_INCLUDE_DIRS) + set(Perftools_TCMALLOC_LIBRARY ${perftools_tcmalloc_library}) + set(Perftools_LIBRARIES + ${Perftools_LIBRARIES} ${perftools_tcmalloc_library}) + set(Perftools_FOUND true) + else () + set(Perftools_FOUND false) + endif () + + + # stacktrace + set(stacktrace_names ${stacktrace_names} stacktrace) + find_library(perftools_stacktrace_library + NAMES + ${stacktrace_names} + PATHS + ${Perftools_ADDITIONAL_LIBRARY_SEARCH_DIRS} + /usr/local/lib + /opt/local/lib + /sw/lib + /usr/lib + ) + + if (perftools_stacktrace_library AND Perftools_INCLUDE_DIRS) + set(Perftools_STACKTRACE_LIBRARY ${perftools_stacktrace_library}) + set(Perftools_LIBRARIES + ${Perftools_LIBRARIES} ${perftools_stacktrace_library}) + endif () + + + # profiler + set(profiler_names ${profiler_names} profiler) + find_library(perftools_profiler_library + NAMES + ${profiler_names} + PATHS + ${Perftools_ADDITIONAL_LIBRARY_SEARCH_DIRS} + /usr/local/lib + /opt/local/lib + /sw/lib + /usr/lib + ) + + if (perftools_profiler_library AND Perftools_INCLUDE_DIRS) + set(Perftools_PROFILER_LIBRARY ${perftools_profiler_library}) + set(Perftools_LIBRARIES + ${Perftools_LIBRARIES} ${perftools_profiler_library}) + endif () + + if (Perftools_FOUND) + if (NOT Perftools_FIND_QUIETLY) + message(STATUS "Found Google perftools") + endif () + else () + if (Perftools_FIND_REQUIRED) + message(FATAL_ERROR "Could not find Google perftools") + endif () + endif () + + mark_as_advanced( + Perftools_INCLUDE_DIRS + Perftools_LIBRARIES + Perftools_TCMALLOC_LIBRARY + Perftools_STACKTRACE_LIBRARY + Perftools_PROFILER_LIBRARY + ) +endif() |