172 lines
4.5 KiB
CMake
172 lines
4.5 KiB
CMake
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 ()
|