mimalloc.cmake /size: 1324 b    last modification: 2024-01-16 10:21
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/options.c
12    source/libraries/mimalloc/src/os.c
13    source/libraries/mimalloc/src/page.c
14    source/libraries/mimalloc/src/random.c
15    source/libraries/mimalloc/src/segment.c
16    source/libraries/mimalloc/src/segment-map.c
17    source/libraries/mimalloc/src/stats.c
18    source/libraries/mimalloc/src/prim/prim.c
19)
20
21set(mi_cflags "")
22set(mi_libraries "")
23
24add_library(mimalloc STATIC ${mimalloc_sources})
25
26# set(CMAKE_C_STANDARD 11)
27# set(CMAKE_CXX_STANDARD 17)
28
29target_include_directories(mimalloc PRIVATE
30    source/libraries/mimalloc
31    source/libraries/mimalloc/src
32    source/libraries/mimalloc/prim
33    source/libraries/mimalloc/include
34)
35
36target_compile_definitions(mimalloc PRIVATE
37    MIMALLOC_LARGE_OS_PAGES=1
38    MI_DEBUG=0
39    MI_SECURE=0
40    NDEBUG=0
41)
42
43if (NOT MSVC)
44    target_compile_options(mimalloc PRIVATE
45        -Wno-cast-align
46        -Wno-cast-qual
47    )
48endif ()
49