summaryrefslogtreecommitdiff
path: root/vendor
diff options
context:
space:
mode:
author杨威 <[email protected]>2023-07-03 20:17:00 +0800
committer杨威 <[email protected]>2023-07-03 20:17:00 +0800
commit54338c474d672d4b3eab1209559d7fe433a6566f (patch)
tree5a02a5e3ea05d8cc726459b8d3560ef5d2ec2da7 /vendor
parent0c0dc02235d39e8313a8d59b2ace2dba3358eb28 (diff)
🔧 build(mimalloc): 内存池支持mimalloc 2.1.2
Diffstat (limited to 'vendor')
-rw-r--r--vendor/CMakeLists.txt47
-rw-r--r--vendor/mimalloc-2.1.2.tar.gzbin0 -> 1163868 bytes
2 files changed, 34 insertions, 13 deletions
diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt
index 81278fd..3b3e023 100644
--- a/vendor/CMakeLists.txt
+++ b/vendor/CMakeLists.txt
@@ -53,20 +53,41 @@ set_property(TARGET libdabloom-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${I
### jemalloc
if(MEM_POOL STREQUAL "JEMALLOC_STATIC")
-ExternalProject_Add(libjemalloc PREFIX libjemalloc
- URL ${CMAKE_CURRENT_SOURCE_DIR}/jemalloc-5.3.0.tar.gz
- URL_MD5 594dd8e0a1e8c1ef8a1b210a1a5aff5b
- CONFIGURE_COMMAND ./autogen.sh --prefix=<INSTALL_DIR>
- BUILD_COMMAND make
- BUILD_IN_SOURCE 1
- INSTALL_COMMAND make install prefix=<INSTALL_DIR>)
+ ExternalProject_Add(libjemalloc PREFIX libjemalloc
+ URL ${CMAKE_CURRENT_SOURCE_DIR}/jemalloc-5.3.0.tar.gz
+ URL_MD5 594dd8e0a1e8c1ef8a1b210a1a5aff5b
+ CONFIGURE_COMMAND ./autogen.sh --prefix=<INSTALL_DIR>
+ BUILD_COMMAND make
+ BUILD_IN_SOURCE 1
+ INSTALL_COMMAND make install prefix=<INSTALL_DIR>)
-ExternalProject_Get_Property(libjemalloc INSTALL_DIR)
-file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
+ ExternalProject_Get_Property(libjemalloc INSTALL_DIR)
+ file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
+
+ add_library(libjemalloc-static STATIC IMPORTED GLOBAL)
+ add_dependencies(libjemalloc-static libjemalloc)
+ set_property(TARGET libjemalloc-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libjemalloc.a)
+ set_property(TARGET libjemalloc-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
+endif()
+
+### mimalloc
+if(MEM_POOL STREQUAL "MIMALLOC")
+ ExternalProject_Add(libmimalloc PREFIX libmimalloc
+ URL ${CMAKE_CURRENT_SOURCE_DIR}/mimalloc-2.1.2.tar.gz
+ URL_MD5 5179c8f5cf1237d2300e2d8559a7bc55
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_BUILD_TYPE=RELWITHDEBINFO)
+
+ ExternalProject_Get_Property(libmimalloc INSTALL_DIR)
+ file(MAKE_DIRECTORY ${INSTALL_DIR}/include/mimalloc-2.1)
+
+ add_library(libmimalloc-static STATIC IMPORTED GLOBAL)
+ add_dependencies(libmimalloc-static libmimalloc)
+ set_property(TARGET libmimalloc-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib64/mimalloc-2.1/libmimalloc.a)
+ set_property(TARGET libmimalloc-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include/mimalloc-2.1)
-add_library(libjemalloc-static STATIC IMPORTED GLOBAL)
-add_dependencies(libjemalloc-static libjemalloc)
-set_property(TARGET libjemalloc-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libjemalloc.a)
-set_property(TARGET libjemalloc-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
+ add_library(libmimalloc-dynamic STATIC IMPORTED GLOBAL)
+ add_dependencies(libmimalloc-dynamic libmimalloc)
+ set_property(TARGET libmimalloc-dynamic PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib64/mimalloc-2.1/libmimalloc.so)
+ set_property(TARGET libmimalloc-dynamic PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include/mimalloc-1.8)
endif()
diff --git a/vendor/mimalloc-2.1.2.tar.gz b/vendor/mimalloc-2.1.2.tar.gz
new file mode 100644
index 0000000..da9d9ce
--- /dev/null
+++ b/vendor/mimalloc-2.1.2.tar.gz
Binary files differ