From: Bassam Tabbara Date: Sat, 10 Dec 2016 04:47:38 +0000 (-0800) Subject: cmake: simplify find_package jemalloc X-Git-Tag: v12.0.0~376^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bdf4db8c4c2cac696faa14119261cae87d0e5417;p=ceph.git cmake: simplify find_package jemalloc simplified the package to find jemalloc. this one matches the one in src/rocksdb/cmake/modules. The existing one was struggling to find jemalloc on some hosts. Signed-off-by: Bassam Tabbara --- diff --git a/cmake/modules/FindJeMalloc.cmake b/cmake/modules/FindJeMalloc.cmake index 6926ae996dd0..784560d1d1e1 100644 --- a/cmake/modules/FindJeMalloc.cmake +++ b/cmake/modules/FindJeMalloc.cmake @@ -1,72 +1,20 @@ -# - Find JeMalloc library # Find the native JeMalloc includes and library # This module defines # JEMALLOC_INCLUDE_DIRS, where to find jemalloc.h, Set when # JEMALLOC_INCLUDE_DIR is found. # JEMALLOC_LIBRARIES, libraries to link against to use JeMalloc. -# JEMALLOC_ROOT_DIR, The base directory to search for JeMalloc. -# This can also be an environment variable. # JEMALLOC_FOUND, If false, do not try to use JeMalloc. # -# also defined, but not for general use are -# JEMALLOC_LIBRARY, where to find the JeMalloc library. -#============================================================================= -# Copyright 2011 Blender Foundation. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= - -# If JEMALLOC_ROOT_DIR was defined in the environment, use it. -IF(NOT JEMALLOC_ROOT_DIR AND NOT $ENV{JEMALLOC_ROOT_DIR} STREQUAL "") - SET(JEMALLOC_ROOT_DIR $ENV{JEMALLOC_ROOT_DIR}) -ENDIF() - -SET(_jemalloc_SEARCH_DIRS - ${JEMALLOC_ROOT_DIR} - /usr/local - /sw # Fink - /opt/local # DarwinPorts - /opt/csw # Blastwave -) +find_path(JEMALLOC_INCLUDE_DIR jemalloc/jemalloc.h) -FIND_PATH(JEMALLOC_INCLUDE_DIR - NAMES - jemalloc.h - HINTS - ${_jemalloc_SEARCH_DIRS} - PATH_SUFFIXES - include/jemalloc -) +find_library(JEMALLOC_LIBRARIES jemalloc) -FIND_LIBRARY(JEMALLOC_LIBRARY - NAMES - jemalloc - HINTS - ${_jemalloc_SEARCH_DIRS} - PATH_SUFFIXES - lib64 lib - ) +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(JeMalloc DEFAULT_MSG + JEMALLOC_LIBRARIES JEMALLOC_INCLUDE_DIR) -# handle the QUIETLY and REQUIRED arguments and set JEMALLOC_FOUND to TRUE if -# all listed variables are TRUE -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(JeMalloc DEFAULT_MSG - JEMALLOC_LIBRARY JEMALLOC_INCLUDE_DIR) - -IF(JEMALLOC_FOUND) - SET(JEMALLOC_LIBRARIES ${JEMALLOC_LIBRARY}) - SET(JEMALLOC_INCLUDE_DIRS ${JEMALLOC_INCLUDE_DIR}) - message(STATUS "Found Jemalloc: ${JEMALLOC_LIBRARY}, ${JEMALLOC_INCLUDE_DIR}") -else () -ENDIF(JEMALLOC_FOUND) - -MARK_AS_ADVANCED( +mark_as_advanced( JEMALLOC_INCLUDE_DIR - JEMALLOC_LIBRARY -) + JEMALLOC_LIBRARIES) + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 49b741e87526..92879f295436 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -264,7 +264,7 @@ elseif(ALLOCATOR STREQUAL "tcmalloc_minimal") 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 "jemalloc") - set(ALLOC_LIBS ${JEMALLOC_LIBRARY}) + set(ALLOC_LIBS ${JEMALLOC_LIBRARIES}) 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")