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