DefineOptions.cmake 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. option(HAVE_LOCKS "Build with POSIX locking mechanisms" ON)
  2. option(WITH_EXAMPLES "Build with examples" OFF)
  3. option(WITH_MEMORY_SPACE_AWARENESS "Build with memory space awareness" OFF)
  4. option(WITH_FIXED_LISTS "Build with predefined lists of fixed-sized blocks" ON)
  5. option(WITH_STATS "Build with statistics" ON)
  6. option(WITH_KNOBS "Build with knobs support" OFF)
  7. option(WITH_ADAPTIVITY "Build with adaptivity" OFF)
  8. option(WITH_STATIC_LIB "Build a static library" OFF)
  9. option(WITH_SHARED_LIB "Build a shared library" OFF)
  10. option(WITH_DOC "Build with documentation" OFF)
  11. set(NUM_HEAPS 1)
  12. set(WITH_COALESCING "never" "Build with coalescing support")
  13. set(WITH_SPLITTING "never" "Build with splitting support")
  14. set(BLOCKS_ORGANIZATION "sll" "Blocks organized in singly linked lists")
  15. option(WITH_OWNERSHIP "Build with ownership information in blocks" OFF)
  16. option(P2012 "Build for P2012 runtime" OFF)
  17. option(LEON3 "Build for Leon3" OFF)
  18. option(LINUXTEST "Build a case for Linux" ON)
  19. if (P2012)
  20. set(HAVE_LOCKS OFF)
  21. set(WITH_MEMORY_SPACE_AWARENESS ON)
  22. set(WITH_STATIC_LIB ON)
  23. set(NUM_HEAPS 1)
  24. set(LINUXTEST OFF)
  25. set(WITH_FIXED_LISTS OFF)
  26. set(WITH_STATS OFF)
  27. set(WITH_COALESCING "never")
  28. set(WITH_SPLITTING "never")
  29. set(BLOCKS_ORGANIZATION "sll")
  30. endif (P2012)
  31. if (LEON3)
  32. set(HAVE_LOCKS OFF)
  33. set(WITH_MEMORY_SPACE_AWARENESS ON)
  34. set(WITH_STATIC_LIB ON)
  35. set(NUM_HEAPS 1)
  36. set(LINUXTEST OFF)
  37. set(WITH_FIXED_LISTS OFF)
  38. set(WITH_STATS OFF)
  39. set(WITH_COALESCING "never")
  40. set(WITH_SPLITTING "never")
  41. set(BLOCKS_ORGANIZATION "sll")
  42. endif (LEON3)
  43. if (LINUXTEST)
  44. set(HAVE_LOCKS ON)
  45. set(WITH_EXAMPLES ON)
  46. set(WITH_COALESCING "variable")
  47. set(MAX_COALESCE_SIZE 60000)
  48. set(WITH_SPLITTING "variable")
  49. set(MIN_SPLITTING_SIZE 300)
  50. set(WITH_SHARED_LIB ON)
  51. set(WITH_DOC ON)
  52. set(BLOCKS_ORGANIZATION "dll")
  53. endif (LINUXTEST)
  54. if(BLOCKS_ORGANIZATION STREQUAL "dll")
  55. set(BLOCKS_IN_DLL ON)
  56. else(BLOCKS_ORGANIZATION STREQUAL "dll")
  57. set(BLOCKS_IN_SLL ON)
  58. endif(BLOCKS_ORGANIZATION STREQUAL "dll")
  59. if(WITH_COALESCING STREQUAL "fixed")
  60. set(WITH_OWNERSHIP ON)
  61. set(COALESCING_FIXED ON)
  62. elseif(WITH_COALESCING STREQUAL "variable")
  63. set(WITH_KNOBS ON)
  64. set(WITH_OWNERSHIP ON)
  65. set(COALESCING_VARIABLE ON)
  66. endif(WITH_COALESCING STREQUAL "fixed")
  67. if(WITH_SPLITTING STREQUAL "fixed")
  68. set(SPLITTING_FIXED ON)
  69. elseif(WITH_SPLITTING STREQUAL "variable")
  70. set(WITH_KNOBS ON)
  71. set(SPLITTING_VARIABLE ON)
  72. endif(WITH_SPLITTING STREQUAL "fixed")