DefineOptions.cmake 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # Load the presets
  2. if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
  3. include(osx.preset)
  4. else(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
  5. if(NOT CMAKE_CROSSCOMPILING)
  6. include(linux.preset)
  7. endif(NOT CMAKE_CROSSCOMPILING)
  8. endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
  9. # Main Settings
  10. set(WITH_SYSTEM_CALLS "none" CACHE STRING "Choose what system calls can be used, options are: none, sbrk, mmap")
  11. set(SYS_ALLOC_SIZE 4096 CACHE INTEGER "Choose the default system allocation size")
  12. option(HAVE_LOCKS "Build with POSIX locking mechanisms" OFF)
  13. option(TRYLOCK_ON_MALLOC "Use a trylock on malloc()" OFF)
  14. set(RAW_BLOCKS_TYPE "freelist" CACHE STRING "Choose what raw blocks can be used, options are: freelist, bitmap")
  15. # Free-list Settings
  16. set(ORDERING_POLICY "lifo" CACHE STRING "Choose the ordering policy in freelist-organized raw blocks, options are: address, fifo, lifo, size")
  17. set(FITTING_POLICY "best" CACHE STRING "Choose the fitting policy in freelist-organized raw blocks, options are: best, exact, first, good")
  18. set(GOOD_FIT_PERCENTAGE 0.8 CACHE DOUBLE "Choose the good-fit percentage")
  19. set(WITH_COALESCING "never" CACHE STRING "Build with coalescing support")
  20. set(WITH_SPLITTING "never" CACHE STRING "Build with splitting support")
  21. option(FREELIST_COALESCE_AFTER_SPLIT "Try to coalesce blocks after split" OFF)
  22. # Bitmap Settings
  23. set(BITMAP_RESOLUTION 256 CACHE INTEGER "Choose the size of cells in bitmap-organised raw blocks")
  24. # Function Implementation Settings
  25. option(WITH_REALLOC "Build with realloc() support" ON)
  26. option(WITH_CALLOC "Build with calloc() support" ON)
  27. option(WITH_MEMALIGN "Build with memalign() support" ON)
  28. # GLIBC Hooks Settings
  29. option(WITH_GLIBC_HOOKS "Place dmmlib functions on GLIBC hooks" OFF)
  30. # Knobs Settings
  31. option(WITH_KNOBS "Build with knobs support" OFF)
  32. # Statistics Settings
  33. set(STATS "none" CACHE STRING "Choose if the memory allocator keeps internally statistics per raw block or globally, options are: none, global")
  34. option(REQUEST_SIZE_INFO "Keep request size information in metadata" OFF)
  35. # Trace Settings
  36. option(WITH_MEM_TRACE "Support for memory traces" OFF)
  37. option(WITH_STATS_TRACE "Support for statistics traces" OFF)
  38. # Build Settings
  39. option(WITH_STATIC_LIB "Build a static library" OFF)
  40. option(WITH_SHARED_LIB "Build a shared library" OFF)
  41. # Misc Settings
  42. option(PARSE_ENV "Build with support to parse dmmlib environment variables" OFF)
  43. option(WITH_EXAMPLES "Build with examples" OFF)
  44. option(WITH_DOC "Build with documentation" OFF)