mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	 35fad15c89
			
		
	
	35fad15c89
	
	
	
		
			
			When neovim is dynamically linked against jemalloc on OSX, users are hitting the deadlock described in jemalloc/jemalloc#895.
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| # - 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
 | |
| 
 | |
| if(NOT USE_BUNDLED_JEMALLOC)
 | |
|   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}")
 | |
| elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
 | |
|   list(INSERT JEMALLOC_NAMES 0
 | |
|     "${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)
 |