diff options
author | Kai Blaschke <kai.blaschke@gdata.de> | 2024-02-21 18:08:56 +0100 |
---|---|---|
committer | Kai Blaschke <kai.blaschke@gdata.de> | 2024-02-21 18:08:56 +0100 |
commit | 9029f897da1052f5a16cac6dc1a3069d1f26a192 (patch) | |
tree | 32d33d3724db393f39b70805710263b5b891ff25 /cmake/FindJeMalloc.cmake | |
parent | b8da62bf43e42e6fc895664a9faf621cbe0325c8 (diff) |
Support prefixed and non-prefixed JeMalloc functions
Note that linking a JeMalloc library without prefixed functions will replace all memory allocations, including any call to "new", not just the ones specifically called via Star::malloc etc.
Diffstat (limited to 'cmake/FindJeMalloc.cmake')
-rw-r--r-- | cmake/FindJeMalloc.cmake | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/cmake/FindJeMalloc.cmake b/cmake/FindJeMalloc.cmake index 54abd29..2c35ca9 100644 --- a/cmake/FindJeMalloc.cmake +++ b/cmake/FindJeMalloc.cmake @@ -37,8 +37,23 @@ find_package_handle_standard_args(JeMalloc DEFAULT_MSG JEMALLOC_INCLUDE_DIR ) +# Check if the JeMalloc library was compiled with the "je_" prefix. +include(CheckSymbolExists) +set(CMAKE_REQUIRED_INCLUDES ${JEMALLOC_INCLUDE_DIR}) +set(CMAKE_REQUIRED_LIBRARIES ${JEMALLOC_LIBRARY}) +check_symbol_exists("je_malloc" "jemalloc/jemalloc.h" _jemalloc_is_prefixed) +unset(CMAKE_REQUIRED_INCLUDES) +unset(CMAKE_REQUIRED_LIBRARIES) + +if(_jemalloc_is_prefixed) + set(JEMALLOC_IS_PREFIXED TRUE) +endif() + +unset(_jemalloc_is_prefixed) + mark_as_advanced( JEMALLOC_ROOT_DIR JEMALLOC_LIBRARY JEMALLOC_INCLUDE_DIR + JEMALLOC_IS_PREFIXED ) |