find_package(JeMalloc)
set(HAVE_LIBJEMALLOC ${JEMALLOC_FOUND})
endif(NOT ${Tcmalloc_FOUND})
- if(NOT Tcmalloc_FOUND AND NOT JEMALLOC_FOUND)
+ if(Tcmalloc_FOUND)
+ set(ALLOCATOR tcmalloc)
+ elseif(JEMALLOC_FOUND)
+ set(ALLOCATOR jemalloc)
+ else()
message(WARNING "tcmalloc and jemalloc not found, falling back to libc")
set(ALLOCATOR "libc")
endif(NOT Tcmalloc_FOUND AND NOT JEMALLOC_FOUND)
endif(HAVE_XIO)
# sort out which allocator to use
-if(Tcmalloc_FOUND)
+if(ALLOCATOR STREQUAL "tcmalloc")
set(ALLOC_LIBS tcmalloc)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free")
set(TCMALLOC_srcs perfglue/heap_profiler.cc)
-elseif(NOT Tcmalloc_FOUND AND JEMALLOC_FOUND)
+elseif(ALLOCATOR STREQUAL "jemalloc")
set(ALLOC_LIBS jemalloc)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free")
set(TCMALLOC_srcs perfglue/disabled_heap_profiler.cc)
-elseif(${ALLOCATOR} STREQUAL "libc")
+elseif(ALLOCATOR STREQUAL "libc")
set(TCMALLOC_srcs perfglue/disabled_heap_profiler.cc)
endif()