Put the ScopedArgumentsTable's ScopeOffset array in some gigacage
[WebKit-https.git] / Source / WTF / wtf / CMakeLists.txt
1 set(WTF_HEADERS
2     ASCIICType.h
3     Assertions.h
4     Atomics.h
5     AutomaticThread.h
6     BackwardsGraph.h
7     Bag.h
8     BagToHashMap.h
9     BitVector.h
10     Bitmap.h
11     Brigand.h
12     BubbleSort.h
13     BumpPointerAllocator.h
14     ByteOrder.h
15     CPUTime.h
16     CagedPtr.h
17     CagedUniquePtr.h
18     ClockType.h
19     CompilationThread.h
20     Compiler.h
21     Condition.h
22     CrossThreadCopier.h
23     CrossThreadTask.h
24     CryptographicUtilities.h
25     CryptographicallyRandomNumber.h
26     CurrentTime.h
27     DataLog.h
28     DateMath.h
29     Dominators.h
30     DecimalNumber.h
31     DeferrableRefCounted.h
32     Deque.h
33     DisallowCType.h
34     DoublyLinkedList.h
35     FastMalloc.h
36     FastTLS.h
37     FeatureDefines.h
38     FilePrintStream.h
39     FlipBytes.h
40     Forward.h
41     FunctionDispatcher.h
42     GetPtr.h
43     Gigacage.h
44     GlobalVersion.h
45     GraphNodeWorklist.h
46     GregorianDateTime.h
47     HashCountedSet.h
48     Hasher.h
49     HashFunctions.h
50     HashIterators.h
51     HashMap.h
52     HashMethod.h
53     HashSet.h
54     HashTable.h
55     HashTraits.h
56     HexNumber.h
57     IndexMap.h
58     IndexSet.h
59     IndexSparseSet.h
60     IndexedContainerIterator.h
61     IteratorAdaptors.h
62     IteratorRange.h
63     ListHashSet.h
64     Liveness.h
65     Lock.h
66     LockAlgorithmInlines.h
67     LockAlgorithm.h
68     LockedPrintStream.h
69     Locker.h
70     LocklessBag.h
71     LoggingHashID.h
72     LoggingHashMap.h
73     LoggingHashSet.h
74     LoggingHashTraits.h
75     MD5.h
76     MainThread.h
77     MallocPtr.h
78     MathExtras.h
79     MediaTime.h
80     MemoryFootprint.h
81     MemoryPressureHandler.h
82     MessageQueue.h
83     MetaAllocator.h
84     MetaAllocatorHandle.h
85     NaturalLoops.h
86     MonotonicTime.h
87     Noncopyable.h
88     NumberOfCores.h
89     OSAllocator.h
90     OSRandomSource.h
91     OptionSet.h
92     OrderMaker.h
93     PageAllocation.h
94     PageBlock.h
95     PageReservation.h
96     ParallelHelperPool.h
97     ParallelJobs.h
98     ParallelJobsGeneric.h
99     ParallelJobsLibdispatch.h
100     ParallelJobsOpenMP.h
101     ParallelVectorIterator.h
102     ParkingLot.h
103     Platform.h
104     PlatformRegisters.h
105     PrintStream.h
106     ProcessID.h
107     RAMSize.h
108     RandomDevice.h
109     RandomNumber.h
110     RandomNumberSeed.h
111     Range.h
112     RangeSet.h
113     RawPointer.h
114     ReadWriteLock.h
115     RecursiveLockAdapter.h
116     RedBlackTree.h
117     Ref.h
118     RefCounted.h
119     RefCountedLeakCounter.h
120     RefCounter.h
121     RefPtr.h
122     RetainPtr.h
123     RunLoop.h
124     SHA1.h
125     SharedTask.h
126     SaturatedArithmetic.h
127     ScopedLambda.h
128     Seconds.h
129     SegmentedVector.h
130     SmallPtrSet.h
131     StackBounds.h
132     StackStats.h
133     StackTrace.h
134     StaticConstructors.h
135     StdLibExtras.h
136     Stopwatch.h
137     StringExtras.h
138     StringPrintStream.h
139     SystemFree.h
140     SystemTracing.h
141     ThreadGroup.h
142     ThreadMessage.h
143     ThreadSafeRefCounted.h
144     ThreadSpecific.h
145     Threading.h
146     ThreadingPrimitives.h
147     TimeWithDynamicClockType.h
148     TinyPtrSet.h
149     UUID.h
150     UniqueRef.h
151     VMTags.h
152     ValueCheck.h
153     Variant.h
154     Vector.h
155     VectorTraits.h
156     WallTime.h
157     WeakPtr.h
158     WordLock.h
159     WorkQueue.h
160     dtoa.h
161
162     dtoa/bignum-dtoa.h
163     dtoa/bignum.h
164     dtoa/cached-powers.h
165     dtoa/diy-fp.h
166     dtoa/double-conversion.h
167     dtoa/double.h
168     dtoa/fast-dtoa.h
169     dtoa/fixed-dtoa.h
170     dtoa/strtod.h
171     dtoa/utils.h
172
173     text/AtomicString.h
174     text/AtomicStringImpl.h
175     text/AtomicStringTable.h
176     text/Base64.h
177     text/CString.h
178     text/IntegerToStringConversion.h
179     text/LChar.h
180     text/LineBreakIteratorPoolICU.h
181     text/StringBuffer.h
182     text/StringCommon.h
183     text/StringHash.h
184     text/StringImpl.h
185     text/StringView.h
186     text/SymbolImpl.h
187     text/SymbolRegistry.h
188     text/TextBreakIterator.h
189     text/TextBreakIteratorInternalICU.h
190     text/TextStream.h
191     text/UniquedStringImpl.h
192     text/ValueToString.h
193     text/WTFString.h
194
195     text/icu/UTextProvider.h
196     text/icu/UTextProviderLatin1.h
197     text/icu/UTextProviderUTF16.h
198
199     threads/BinarySemaphore.h
200     threads/Signals.h
201
202     unicode/CharacterNames.h
203     unicode/Collator.h
204     unicode/UTF8.h
205 )
206
207 set(WTF_SOURCES
208     Assertions.cpp
209     Atomics.cpp
210     AutomaticThread.cpp
211     BitVector.cpp
212     CPUTime.cpp
213     ClockType.cpp
214     CompilationThread.cpp
215     CrossThreadCopier.cpp
216     CryptographicUtilities.cpp
217     CryptographicallyRandomNumber.cpp
218     CurrentTime.cpp
219     DataLog.cpp
220     DateMath.cpp
221     DecimalNumber.cpp
222     FastBitVector.cpp
223     FastMalloc.cpp
224     FilePrintStream.cpp
225     FunctionDispatcher.cpp
226     Gigacage.cpp
227     GlobalVersion.cpp
228     GregorianDateTime.cpp
229     HashTable.cpp
230     Lock.cpp
231     LockedPrintStream.cpp
232     MD5.cpp
233     MainThread.cpp
234     MediaTime.cpp
235     MemoryPressureHandler.cpp
236     MetaAllocator.cpp
237     MonotonicTime.cpp
238     NumberOfCores.cpp
239     OSRandomSource.cpp
240     PageBlock.cpp
241     ParallelHelperPool.cpp
242     ParallelJobsGeneric.cpp
243     ParkingLot.cpp
244     PrintStream.cpp
245     RAMSize.cpp
246     RandomDevice.cpp
247     RandomNumber.cpp
248     ReadWriteLock.cpp
249     RefCountedLeakCounter.cpp
250     RunLoop.cpp
251     SHA1.cpp
252     Seconds.cpp
253     SixCharacterHash.cpp
254     StackBounds.cpp
255     StackStats.cpp
256     StackTrace.cpp
257     StringPrintStream.cpp
258     ThreadGroup.cpp
259     ThreadMessage.cpp
260     Threading.cpp
261     TimeWithDynamicClockType.cpp
262     UUID.cpp
263     WallTime.cpp
264     WordLock.cpp
265     WorkQueue.cpp
266     dtoa.cpp
267
268     dtoa/bignum-dtoa.cc
269     dtoa/bignum.cc
270     dtoa/cached-powers.cc
271     dtoa/diy-fp.cc
272     dtoa/double-conversion.cc
273     dtoa/fast-dtoa.cc
274     dtoa/fixed-dtoa.cc
275     dtoa/strtod.cc
276
277     persistence/PersistentCoders.cpp
278     persistence/PersistentDecoder.cpp
279     persistence/PersistentEncoder.cpp
280
281     text/AtomicString.cpp
282     text/AtomicStringImpl.cpp
283     text/AtomicStringTable.cpp
284     text/Base64.cpp
285     text/CString.cpp
286     text/StringBuilder.cpp
287     text/StringImpl.cpp
288     text/StringView.cpp
289     text/SymbolImpl.cpp
290     text/SymbolRegistry.cpp
291     text/TextBreakIterator.cpp
292     text/TextStream.cpp
293     text/WTFString.cpp
294
295     text/icu/UTextProvider.cpp
296     text/icu/UTextProviderLatin1.cpp
297     text/icu/UTextProviderUTF16.cpp
298
299     threads/BinarySemaphore.cpp
300     threads/Signals.cpp
301
302     unicode/UTF8.cpp
303 )
304
305 set(WTF_INCLUDE_DIRECTORIES
306     "${BMALLOC_DIR}"
307     "${WTF_DIR}"
308     "${CMAKE_BINARY_DIR}"
309     "${DERIVED_SOURCES_DIR}"
310     "${THIRDPARTY_DIR}"
311 )
312
313 set(WTF_PRIVATE_INCLUDE_DIRECTORIES
314     "${WTF_DIR}/wtf"
315     "${WTF_DIR}/wtf/dtoa"
316     "${WTF_DIR}/wtf/persistence"
317     "${WTF_DIR}/wtf/text"
318     "${WTF_DIR}/wtf/text/icu"
319     "${WTF_DIR}/wtf/threads"
320     "${WTF_DIR}/wtf/unicode"
321 )
322
323 set(WTF_LIBRARIES
324     ${CMAKE_DL_LIBS}
325 )
326
327 if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
328     list(APPEND WTF_HEADERS
329         spi/darwin/CommonCryptoSPI.h
330     )
331     list(APPEND WTF_INCLUDE_DIRECTORIES
332         "${WTF_DIR}/wtf/spi/darwin"
333     )
334 endif ()
335
336 if (NOT USE_SYSTEM_MALLOC)
337     list(APPEND WTF_LIBRARIES bmalloc)
338 endif ()
339
340 list(APPEND WTF_SOURCES
341     unicode/icu/CollatorICU.cpp
342 )
343 set(WTF_SYSTEM_INCLUDE_DIRECTORIES
344     ${ICU_INCLUDE_DIRS}
345 )
346 list(APPEND WTF_LIBRARIES
347     ${ICU_DATA_LIBRARIES}
348     ${ICU_I18N_LIBRARIES}
349     ${ICU_LIBRARIES}
350 )
351
352 if (WIN32)
353     list(APPEND WTF_SOURCES
354         OSAllocatorWin.cpp
355         ThreadSpecificWin.cpp
356         ThreadingWin.cpp
357     )
358     list(APPEND WTF_LIBRARIES
359         winmm
360     )
361 else ()
362     list(APPEND WTF_SOURCES
363         OSAllocatorPosix.cpp
364         ThreadingPthreads.cpp
365     )
366 endif ()
367
368 WEBKIT_FRAMEWORK_DECLARE(WTF)
369 WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
370
371 WEBKIT_WRAP_SOURCELIST(${WTF_SOURCES})
372 WEBKIT_FRAMEWORK(WTF)
373
374 if (MSVC)
375     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
376     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
377
378     add_custom_command(
379         TARGET WTF
380         PRE_BUILD
381         COMMAND ${PERL_EXECUTABLE} ${WEBKIT_LIBRARIES_DIR}/tools/scripts/auto-version.pl ${DERIVED_SOURCES_DIR}
382         VERBATIM)
383
384     add_custom_command(
385         TARGET WTF
386         POST_BUILD
387         COMMAND ${PERL_EXECUTABLE} ${WEBKIT_LIBRARIES_DIR}/tools/scripts/version-stamp.pl ${DERIVED_SOURCES_DIR} $<TARGET_FILE:WTF>
388         VERBATIM)
389 endif ()