blob: cd5a49ab4cc0eb1d50f7c0709c5b11990de15acd [file] [log] [blame]
set_property(DIRECTORY . PROPERTY FOLDER "bmalloc")
set(bmalloc_PRIVATE_INCLUDE_DIRECTORIES
"${BMALLOC_DIR}"
)
set(bmalloc_SOURCES
bmalloc/AllIsoHeaps.cpp
bmalloc/Allocator.cpp
bmalloc/AvailableMemory.cpp
bmalloc/Cache.cpp
bmalloc/CryptoRandom.cpp
bmalloc/Deallocator.cpp
bmalloc/DebugHeap.cpp
bmalloc/Environment.cpp
bmalloc/FreeList.cpp
bmalloc/Gigacage.cpp
bmalloc/Heap.cpp
bmalloc/HeapConstants.cpp
bmalloc/HeapKind.cpp
bmalloc/IsoHeapImpl.cpp
bmalloc/IsoMallocFallback.cpp
bmalloc/IsoPage.cpp
bmalloc/IsoSharedHeap.cpp
bmalloc/IsoSharedPage.cpp
bmalloc/IsoTLS.cpp
bmalloc/IsoTLSEntry.cpp
bmalloc/IsoTLSLayout.cpp
bmalloc/LargeMap.cpp
bmalloc/Logging.cpp
bmalloc/Mutex.cpp
bmalloc/ObjectType.cpp
bmalloc/ObjectTypeTable.cpp
bmalloc/PerProcess.cpp
bmalloc/Scavenger.cpp
bmalloc/bmalloc.cpp
)
set(bmalloc_PUBLIC_HEADERS
bmalloc/Algorithm.h
bmalloc/AllIsoHeaps.h
bmalloc/AllIsoHeapsInlines.h
bmalloc/Allocator.h
bmalloc/AvailableMemory.h
bmalloc/BAssert.h
bmalloc/BCompiler.h
bmalloc/BExport.h
bmalloc/BInline.h
bmalloc/BMalloced.h
bmalloc/BPlatform.h
bmalloc/BVMTags.h
bmalloc/Bits.h
bmalloc/BulkDecommit.h
bmalloc/BumpAllocator.h
bmalloc/BumpRange.h
bmalloc/Cache.h
bmalloc/Chunk.h
bmalloc/CryptoRandom.h
bmalloc/Deallocator.h
bmalloc/DebugHeap.h
bmalloc/DeferredDecommit.h
bmalloc/DeferredDecommitInlines.h
bmalloc/DeferredTrigger.h
bmalloc/DeferredTriggerInlines.h
bmalloc/EligibilityResult.h
bmalloc/EligibilityResultInlines.h
bmalloc/Environment.h
bmalloc/FailureAction.h
bmalloc/FixedVector.h
bmalloc/FreeList.h
bmalloc/FreeListInlines.h
bmalloc/Gigacage.h
bmalloc/GigacageConfig.h
bmalloc/GigacageKind.h
bmalloc/Heap.h
bmalloc/HeapConstants.h
bmalloc/HeapKind.h
bmalloc/IsoAllocator.h
bmalloc/IsoAllocatorInlines.h
bmalloc/IsoConfig.h
bmalloc/IsoDeallocator.h
bmalloc/IsoDeallocatorInlines.h
bmalloc/IsoDirectory.h
bmalloc/IsoDirectoryInlines.h
bmalloc/IsoDirectoryPage.h
bmalloc/IsoDirectoryPageInlines.h
bmalloc/IsoHeap.h
bmalloc/IsoHeapImpl.h
bmalloc/IsoHeapImplInlines.h
bmalloc/IsoHeapInlines.h
bmalloc/IsoMallocFallback.h
bmalloc/IsoPage.h
bmalloc/IsoPageInlines.h
bmalloc/IsoPageTrigger.h
bmalloc/IsoSharedConfig.h
bmalloc/IsoSharedHeap.h
bmalloc/IsoSharedHeapInlines.h
bmalloc/IsoSharedPage.h
bmalloc/IsoSharedPageInlines.h
bmalloc/IsoTLS.h
bmalloc/IsoTLSAllocatorEntry.h
bmalloc/IsoTLSAllocatorEntryInlines.h
bmalloc/IsoTLSDeallocatorEntry.h
bmalloc/IsoTLSDeallocatorEntryInlines.h
bmalloc/IsoTLSEntry.h
bmalloc/IsoTLSEntryInlines.h
bmalloc/IsoTLSInlines.h
bmalloc/IsoTLSLayout.h
bmalloc/LargeMap.h
bmalloc/LargeRange.h
bmalloc/LineMetadata.h
bmalloc/List.h
bmalloc/Logging.h
bmalloc/Map.h
bmalloc/Mutex.h
bmalloc/Object.h
bmalloc/ObjectType.h
bmalloc/ObjectTypeTable.h
bmalloc/Packed.h
bmalloc/PerHeapKind.h
bmalloc/PerProcess.h
bmalloc/PerThread.h
bmalloc/PhysicalPageMap.h
bmalloc/ProcessCheck.h
bmalloc/Range.h
bmalloc/Scavenger.h
bmalloc/ScopeExit.h
bmalloc/Sizes.h
bmalloc/SmallLine.h
bmalloc/SmallPage.h
bmalloc/StaticPerProcess.h
bmalloc/StdLibExtras.h
bmalloc/Syscall.h
bmalloc/VMAllocate.h
bmalloc/Vector.h
bmalloc/Zone.h
bmalloc/bmalloc.h
)
if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
list(APPEND bmalloc_SOURCES
bmalloc/Zone.cpp
)
endif ()
set(bmalloc_LIBRARIES
${CMAKE_DL_LIBS}
)
set(bmalloc_INTERFACE_LIBRARIES bmalloc)
set(bmalloc_INTERFACE_INCLUDE_DIRECTORIES ${bmalloc_FRAMEWORK_HEADERS_DIR})
set(bmalloc_INTERFACE_DEPENDENCIES bmalloc_CopyHeaders)
WEBKIT_FRAMEWORK_DECLARE(bmalloc)
WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
WEBKIT_COPY_FILES(bmalloc_CopyHeaders
DESTINATION ${bmalloc_FRAMEWORK_HEADERS_DIR}
FILES ${bmalloc_PUBLIC_HEADERS}
)
WEBKIT_FRAMEWORK(bmalloc)
WEBKIT_FRAMEWORK_TARGET(bmalloc)
# Only build mbmalloc on platforms that MallocBench supports
if (DEVELOPER_MODE AND (APPLE OR HAVE_MALLOC_TRIM))
add_library(mbmalloc SHARED bmalloc/mbmalloc.cpp)
target_include_directories(mbmalloc PRIVATE ${bmalloc_PRIVATE_INCLUDE_DIRECTORIES})
target_link_libraries(mbmalloc Threads::Threads bmalloc)
set_target_properties(mbmalloc PROPERTIES COMPILE_DEFINITIONS "BUILDING_mbmalloc")
endif ()