1include("source/libraries/mimalloc/cmake/mimalloc-config-version.cmake") 2 3set(mimalloc_sources 4 source/libraries/mimalloc/src/alloc.c 5 source/libraries/mimalloc/src/alloc-aligned.c 6 source/libraries/mimalloc/src/alloc-posix.c 7 source/libraries/mimalloc/src/arena.c 8 source/libraries/mimalloc/src/bitmap.c 9 source/libraries/mimalloc/src/heap.c 10 source/libraries/mimalloc/src/init.c 11 source/libraries/mimalloc/src/libc.c 12 source/libraries/mimalloc/src/options.c 13 source/libraries/mimalloc/src/os.c 14 source/libraries/mimalloc/src/page.c 15 source/libraries/mimalloc/src/random.c 16 source/libraries/mimalloc/src/segment.c 17 source/libraries/mimalloc/src/segment-map.c 18 source/libraries/mimalloc/src/stats.c 19 source/libraries/mimalloc/src/prim/prim.c 20) 21 22# if (MI_OSX_ZONE) 23# list(APPEND mimalloc_sources source/libraries/mimalloc/src/prim/osx/alloc-override-zone.c) 24# add_definitions(-DMI_OSX_ZONE=1) 25# add_definitions(-DMI_OSX_INTERPOSE=1) 26# endif() 27 28set(mi_cflags "") 29set(mi_libraries "") 30 31add_library(mimalloc STATIC ${mimalloc_sources}) 32 33# set(CMAKE_C_STANDARD 11) 34# set(CMAKE_CXX_STANDARD 17) 35 36target_include_directories(mimalloc PRIVATE 37 source/libraries/mimalloc 38 source/libraries/mimalloc/src 39 source/libraries/mimalloc/prim 40 source/libraries/mimalloc/include 41) 42 43target_compile_definitions(mimalloc PRIVATE 44 MIMALLOC_LARGE_OS_PAGES=1 45 MI_DEBUG=0 46 MI_SECURE=0 47 NDEBUG=0 48 # MI_DEBUG=3 49 # MI_SHOW_ERRORS=1 50 # MI_PADDING=1 51) 52 53if (NOT MSVC) 54 target_compile_options(mimalloc PRIVATE 55 -Wno-cast-align 56 -Wno-cast-qual 57 ) 58endif () 59 60# list(APPEND mi_defines MI_LIBC_MUSL=1) 61# list(APPEND mi_cflags -Wno-static-in-inline) 62