DefineOptions.cmake 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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_KNOBS "Build with knobs support" OFF)
  5. option(WITH_STATIC_LIB "Build a static library" OFF)
  6. option(WITH_SHARED_LIB "Build a shared library" OFF)
  7. option(WITH_DOC "Build with documentation" OFF)
  8. set(NUM_HEAPS '1')
  9. set(WITH_COALESCING "never" "Build with coalescing support")
  10. set(WITH_SPLITTING "never" "Build with splitting support")
  11. option(WITH_OWNERSHIP "Build with ownership information in blocks" OFF)
  12. option(P2012 "Build for P2012 runtime" OFF)
  13. option(LINUXTEST "Build a case for Linux" ON)
  14. if (P2012)
  15. set(HAVE_LOCKS OFF)
  16. set(WITH_MEMORY_SPACE_AWARENESS ON)
  17. set(WITH_STATIC_LIB ON)
  18. set(NUM_HEAPS '0')
  19. set(LINUXTEST OFF)
  20. endif (P2012)
  21. if (LINUXTEST)
  22. set(HAVE_LOCKS OFF)
  23. set(WITH_EXAMPLES ON)
  24. set(WITH_COALESCING "variable")
  25. set(MAX_COALESCE_SIZE 60000)
  26. set(WITH_SPLITTING "variable")
  27. set(MIN_SPLITTING_SIZE 300)
  28. set(WITH_SHARED_LIB ON)
  29. set(WITH_DOC ON)
  30. endif (LINUXTEST)
  31. if(WITH_COALESCING STREQUAL "fixed")
  32. set(WITH_OWNERSHIP ON)
  33. set(COALESCING_FIXED ON)
  34. elseif(WITH_COALESCING STREQUAL "variable")
  35. set(WITH_OWNERSHIP ON)
  36. set(WITH_KNOBS ON)
  37. set(COALESCING_VARIABLE ON)
  38. endif(WITH_COALESCING STREQUAL "fixed")
  39. if(WITH_SPLITTING STREQUAL "fixed")
  40. set(SPLITTING_FIXED ON)
  41. elseif(WITH_SPLITTING STREQUAL "variable")
  42. set(WITH_KNOBS ON)
  43. set(SPLITTING_VARIABLE ON)
  44. endif(WITH_SPLITTING STREQUAL "fixed")