Multiple build issues with ENABLE_VIDEO=OFF
[WebKit-https.git] / Source / bmalloc / CMakeLists.txt
1 set_property(DIRECTORY . PROPERTY FOLDER "bmalloc")
2
3 set(bmalloc_PRIVATE_INCLUDE_DIRECTORIES
4     "${BMALLOC_DIR}"
5 )
6
7 set(bmalloc_SOURCES
8     bmalloc/AllIsoHeaps.cpp
9     bmalloc/Allocator.cpp
10     bmalloc/AvailableMemory.cpp
11     bmalloc/Cache.cpp
12     bmalloc/CryptoRandom.cpp
13     bmalloc/Deallocator.cpp
14     bmalloc/DebugHeap.cpp
15     bmalloc/Environment.cpp
16     bmalloc/FreeList.cpp
17     bmalloc/Gigacage.cpp
18     bmalloc/Heap.cpp
19     bmalloc/HeapConstants.cpp
20     bmalloc/HeapKind.cpp
21     bmalloc/IsoHeapImpl.cpp
22     bmalloc/IsoMallocFallback.cpp
23     bmalloc/IsoPage.cpp
24     bmalloc/IsoSharedHeap.cpp
25     bmalloc/IsoSharedPage.cpp
26     bmalloc/IsoTLS.cpp
27     bmalloc/IsoTLSEntry.cpp
28     bmalloc/IsoTLSLayout.cpp
29     bmalloc/LargeMap.cpp
30     bmalloc/Logging.cpp
31     bmalloc/Mutex.cpp
32     bmalloc/ObjectType.cpp
33     bmalloc/ObjectTypeTable.cpp
34     bmalloc/PerProcess.cpp
35     bmalloc/Scavenger.cpp
36     bmalloc/bmalloc.cpp
37 )
38
39 set(bmalloc_PUBLIC_HEADERS
40     bmalloc/Algorithm.h
41     bmalloc/AllIsoHeaps.h
42     bmalloc/AllIsoHeapsInlines.h
43     bmalloc/Allocator.h
44     bmalloc/AvailableMemory.h
45     bmalloc/BAssert.h
46     bmalloc/BCompiler.h
47     bmalloc/BExport.h
48     bmalloc/BInline.h
49     bmalloc/BMalloced.h
50     bmalloc/BPlatform.h
51     bmalloc/BVMTags.h
52     bmalloc/Bits.h
53     bmalloc/BulkDecommit.h
54     bmalloc/BumpAllocator.h
55     bmalloc/BumpRange.h
56     bmalloc/Cache.h
57     bmalloc/Chunk.h
58     bmalloc/CryptoRandom.h
59     bmalloc/Deallocator.h
60     bmalloc/DebugHeap.h
61     bmalloc/DeferredDecommit.h
62     bmalloc/DeferredDecommitInlines.h
63     bmalloc/DeferredTrigger.h
64     bmalloc/DeferredTriggerInlines.h
65     bmalloc/EligibilityResult.h
66     bmalloc/EligibilityResultInlines.h
67     bmalloc/Environment.h
68     bmalloc/FailureAction.h
69     bmalloc/FixedVector.h
70     bmalloc/FreeList.h
71     bmalloc/FreeListInlines.h
72     bmalloc/Gigacage.h
73     bmalloc/GigacageConfig.h
74     bmalloc/GigacageKind.h
75     bmalloc/Heap.h
76     bmalloc/HeapConstants.h
77     bmalloc/HeapKind.h
78     bmalloc/IsoAllocator.h
79     bmalloc/IsoAllocatorInlines.h
80     bmalloc/IsoConfig.h
81     bmalloc/IsoDeallocator.h
82     bmalloc/IsoDeallocatorInlines.h
83     bmalloc/IsoDirectory.h
84     bmalloc/IsoDirectoryInlines.h
85     bmalloc/IsoDirectoryPage.h
86     bmalloc/IsoDirectoryPageInlines.h
87     bmalloc/IsoHeap.h
88     bmalloc/IsoHeapImpl.h
89     bmalloc/IsoHeapImplInlines.h
90     bmalloc/IsoHeapInlines.h
91     bmalloc/IsoMallocFallback.h
92     bmalloc/IsoPage.h
93     bmalloc/IsoPageInlines.h
94     bmalloc/IsoPageTrigger.h
95     bmalloc/IsoSharedConfig.h
96     bmalloc/IsoSharedHeap.h
97     bmalloc/IsoSharedHeapInlines.h
98     bmalloc/IsoSharedPage.h
99     bmalloc/IsoSharedPageInlines.h
100     bmalloc/IsoTLS.h
101     bmalloc/IsoTLSAllocatorEntry.h
102     bmalloc/IsoTLSAllocatorEntryInlines.h
103     bmalloc/IsoTLSDeallocatorEntry.h
104     bmalloc/IsoTLSDeallocatorEntryInlines.h
105     bmalloc/IsoTLSEntry.h
106     bmalloc/IsoTLSEntryInlines.h
107     bmalloc/IsoTLSInlines.h
108     bmalloc/IsoTLSLayout.h
109     bmalloc/LargeMap.h
110     bmalloc/LargeRange.h
111     bmalloc/LineMetadata.h
112     bmalloc/List.h
113     bmalloc/Logging.h
114     bmalloc/Map.h
115     bmalloc/Mutex.h
116     bmalloc/Object.h
117     bmalloc/ObjectType.h
118     bmalloc/ObjectTypeTable.h
119     bmalloc/Packed.h
120     bmalloc/PerHeapKind.h
121     bmalloc/PerProcess.h
122     bmalloc/PerThread.h
123     bmalloc/PhysicalPageMap.h
124     bmalloc/ProcessCheck.h
125     bmalloc/Range.h
126     bmalloc/Scavenger.h
127     bmalloc/ScopeExit.h
128     bmalloc/Sizes.h
129     bmalloc/SmallLine.h
130     bmalloc/SmallPage.h
131     bmalloc/StaticPerProcess.h
132     bmalloc/StdLibExtras.h
133     bmalloc/Syscall.h
134     bmalloc/VMAllocate.h
135     bmalloc/Vector.h
136     bmalloc/Zone.h
137     bmalloc/bmalloc.h
138 )
139
140 if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
141     list(APPEND bmalloc_SOURCES
142         bmalloc/Zone.cpp
143     )
144 endif ()
145
146 set(bmalloc_LIBRARIES
147     ${CMAKE_DL_LIBS}
148 )
149
150 set(bmalloc_INTERFACE_LIBRARIES bmalloc)
151 set(bmalloc_INTERFACE_INCLUDE_DIRECTORIES ${bmalloc_FRAMEWORK_HEADERS_DIR})
152 set(bmalloc_INTERFACE_DEPENDENCIES bmalloc_CopyHeaders)
153
154 WEBKIT_FRAMEWORK_DECLARE(bmalloc)
155 WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
156
157 WEBKIT_COPY_FILES(bmalloc_CopyHeaders
158     DESTINATION ${bmalloc_FRAMEWORK_HEADERS_DIR}
159     FILES ${bmalloc_PUBLIC_HEADERS}
160 )
161
162 WEBKIT_FRAMEWORK(bmalloc)
163 WEBKIT_FRAMEWORK_TARGET(bmalloc)
164
165 # Only build mbmalloc on platforms that MallocBench supports
166 if (DEVELOPER_MODE AND (APPLE OR HAVE_MALLOC_TRIM))
167     add_library(mbmalloc SHARED bmalloc/mbmalloc.cpp)
168     target_include_directories(mbmalloc PRIVATE ${bmalloc_PRIVATE_INCLUDE_DIRECTORIES})
169     target_link_libraries(mbmalloc Threads::Threads bmalloc)
170     set_target_properties(mbmalloc PROPERTIES COMPILE_DEFINITIONS "BUILDING_mbmalloc")
171 endif ()