diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2015-04-13 09:30:57 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2015-04-13 09:30:57 -0300 |
commit | a9ee85b9fc2d4e3faa466e9c3062cd41315f8456 (patch) | |
tree | e45187575c9f0397c5d717780b61adf5b3976a62 /cmake | |
parent | 0248c75bc190ec2fbc8f3af3d61f771e76d628d6 (diff) | |
parent | 2d104f14dbd2c60a30e9e1e0fef098b39db087db (diff) | |
download | rneovim-a9ee85b9fc2d4e3faa466e9c3062cd41315f8456.tar.gz rneovim-a9ee85b9fc2d4e3faa466e9c3062cd41315f8456.tar.bz2 rneovim-a9ee85b9fc2d4e3faa466e9c3062cd41315f8456.zip |
Merge PR #2415 'Use jemalloc instead of libc allocator'
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/FindJeMalloc.cmake | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/cmake/FindJeMalloc.cmake b/cmake/FindJeMalloc.cmake new file mode 100644 index 0000000000..fd20a456fb --- /dev/null +++ b/cmake/FindJeMalloc.cmake @@ -0,0 +1,48 @@ +# - Try to find jemalloc +# Once done this will define +# JEMALLOC_FOUND - System has jemalloc +# JEMALLOC_INCLUDE_DIRS - The jemalloc include directories +# JEMALLOC_LIBRARIES - The libraries needed to use jemalloc + +find_package(PkgConfig) +if(NOT JEMALLOC_USE_BUNDLED) + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) + pkg_check_modules(PC_JEMALLOC QUIET jemalloc) + endif() +else() + set(PC_JEMALLOC_INCLUDEDIR) + set(PC_JEMALLOC_INCLUDE_DIRS) + set(PC_JEMALLOC_LIBDIR) + set(PC_JEMALLOC_LIBRARY_DIRS) + set(LIMIT_SEARCH NO_DEFAULT_PATH) +endif() + +set(JEMALLOC_DEFINITIONS ${PC_JEMALLOC_CFLAGS_OTHER}) + +find_path(JEMALLOC_INCLUDE_DIR jemalloc/jemalloc.h + PATHS ${PC_JEMALLOC_INCLUDEDIR} ${PC_JEMALLOC_INCLUDE_DIRS} + ${LIMIT_SEARCH}) + +# If we're asked to use static linkage, add libjemalloc.a as a preferred library name. +if(JEMALLOC_USE_STATIC) + list(APPEND JEMALLOC_NAMES + "${CMAKE_STATIC_LIBRARY_PREFIX}jemalloc${CMAKE_STATIC_LIBRARY_SUFFIX}") +endif() + +list(APPEND JEMALLOC_NAMES jemalloc) + +find_library(JEMALLOC_LIBRARY NAMES ${JEMALLOC_NAMES} + HINTS ${PC_JEMALLOC_LIBDIR} ${PC_JEMALLOC_LIBRARY_DIRS} + ${LIMIT_SEARCH}) + +set(JEMALLOC_LIBRARIES ${JEMALLOC_LIBRARY}) +set(JEMALLOC_INCLUDE_DIRS ${JEMALLOC_INCLUDE_DIR}) + +include(FindPackageHandleStandardArgs) +# handle the QUIETLY and REQUIRED arguments and set JEMALLOC_FOUND to TRUE +# if all listed variables are TRUE +find_package_handle_standard_args(JeMalloc DEFAULT_MSG + JEMALLOC_LIBRARY JEMALLOC_INCLUDE_DIR) + +mark_as_advanced(JEMALLOC_INCLUDE_DIR JEMALLOC_LIBRARY) |