ceph/cmake/modules/FindJeMalloc.cmake
Jianpeng Ma ab1497addc cmake: fix a cmake error when with -DALLOCATOR=jemalloc.
When exec: ./do_cmake.sh -DALLOCATOR=jemalloc. Met the following
messages:
>> CMake Error at cmake/modules/FindJeMalloc.cmake:28 (endforeach):
  endforeach An ENDFOREACH command was found outside of a proper FOREACH
  ENDFOREACH structure.  Or its arguments did not match the opening FOREACH
  command.
>> Call Stack (most recent call first):
  CMakeLists.txt:326 (find_package)

This bug introduce commit 8db629a14baf2aea99cf.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2018-08-02 16:38:53 +08:00

29 lines
967 B
CMake

# 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_FOUND, If false, do not try to use JeMalloc.
#
find_path(JEMALLOC_INCLUDE_DIR jemalloc/jemalloc.h)
find_library(JEMALLOC_LIBRARIES jemalloc)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(JeMalloc
FOUND_VAR JeMalloc_FOUND
REQUIRED_VARS JEMALLOC_LIBRARIES JEMALLOC_INCLUDE_DIR)
mark_as_advanced(
JEMALLOC_INCLUDE_DIR
JEMALLOC_LIBRARIES)
if(JeMalloc_FOUND AND NOT (TARGET JeMalloc::JeMalloc))
add_library(JeMalloc::JeMalloc UNKNOWN IMPORTED)
set_target_properties(JeMalloc::JeMalloc PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${JEMALLOC_INCLUDE_DIR}"
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${JEMALLOC_LIBRARIES}")
endif()