Skip to content
Snippets Groups Projects
Commit a8d4c1f8 authored by Campbell Barton's avatar Campbell Barton
Browse files

cmake: add find jemalloc module

parent 56c0f690
No related branches found
No related tags found
No related merge requests found
...@@ -406,12 +406,10 @@ if(UNIX AND NOT APPLE) ...@@ -406,12 +406,10 @@ if(UNIX AND NOT APPLE)
endif() endif()
if(WITH_MEM_JEMALLOC) if(WITH_MEM_JEMALLOC)
set(JEMALLOC /usr) find_package(JeMalloc)
set(JEMALLOC_LIBRARIES jemalloc CACHE STRING "JeMalloc library") if(NOT JEMALLOC_FOUND)
set(JEMALLOC_LIBPATH ${JEMALLOC}/lib CACHE FILEPATH "JeMalloc library path") set(WITH_MEM_JEMALLOC OFF)
# no use for this yet. endif()
# set(JEMALLOC_INCLUDE_DIR ${JEMALLOC}/include CACHE FILEPATH "JeMalloc include path")
unset(JEMALLOC)
endif() endif()
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed # OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
......
# - 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 2002-2009 Kitware, Inc.
#
# 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.
#=============================================================================
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
# 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.h
HINTS
${_jemalloc_SEARCH_DIRS}
PATH_SUFFIXES
include/jemalloc
)
FIND_LIBRARY(JEMALLOC_LIBRARY
NAMES "jemalloc"
HINTS ${_jemalloc_SEARCH_DIRS}
PATH_SUFFIXES lib64 lib
)
# 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})
ENDIF(JEMALLOC_FOUND)
MARK_AS_ADVANCED(
JEMALLOC_INCLUDE_DIR
JEMALLOC_LIBRARY
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment