Remove remaining poisoning code.
[WebKit-https.git] / Source / WTF / wtf / CMakeLists.txt
1 set(WTF_PUBLIC_HEADERS
2     ASCIICType.h
3     Algorithms.h
4     Assertions.h
5     Atomics.h
6     AutodrainedPool.h
7     AutomaticThread.h
8     BackwardsGraph.h
9     Bag.h
10     BagToHashMap.h
11     BitVector.h
12     Bitmap.h
13     BlockObjCExceptions.h
14     BlockPtr.h
15     BloomFilter.h
16     BooleanLattice.h
17     Box.h
18     Brigand.h
19     BubbleSort.h
20     BumpPointerAllocator.h
21     ByteOrder.h
22     CPUTime.h
23     CagedPtr.h
24     CagedUniquePtr.h
25     CallbackAggregator.h
26     CheckedArithmetic.h
27     CheckedBoolean.h
28     ClockType.h
29     CommaPrinter.h
30     CompactPointerTuple.h
31     CompilationThread.h
32     Compiler.h
33     CompletionHandler.h
34     ConcurrentBuffer.h
35     ConcurrentPtrHashSet.h
36     ConcurrentVector.h
37     Condition.h
38     CountingLock.h
39     CrossThreadCopier.h
40     CrossThreadQueue.h
41     CrossThreadTask.h
42     CrossThreadTaskHandler.h
43     CryptographicUtilities.h
44     CryptographicallyRandomNumber.h
45     DataLog.h
46     DateMath.h
47     DebugUtilities.h
48     DecimalNumber.h
49     DeferrableRefCounted.h
50     DeprecatedOptional.h
51     Deque.h
52     DisallowCType.h
53     Dominators.h
54     DoublyLinkedList.h
55     DumbPtrTraits.h
56     DumbValueTraits.h
57     EnumTraits.h
58     Expected.h
59     ExportMacros.h
60     FastBitVector.h
61     FastMalloc.h
62     FastTLS.h
63     FeatureDefines.h
64     FileMetadata.h
65     FilePrintStream.h
66     FileSystem.h
67     FlipBytes.h
68     ForbidHeapAllocation.h
69     Forward.h
70     Function.h
71     FunctionDispatcher.h
72     FunctionTraits.h
73     GetPtr.h
74     Gigacage.h
75     GlobalVersion.h
76     GraphNodeWorklist.h
77     GregorianDateTime.h
78     HashCountedSet.h
79     HashFunctions.h
80     HashIterators.h
81     HashMap.h
82     HashMethod.h
83     HashSet.h
84     HashTable.h
85     HashTraits.h
86     Hasher.h
87     HexNumber.h
88     Identified.h
89     Indenter.h
90     IndexKeyType.h
91     IndexMap.h
92     IndexSet.h
93     IndexSparseSet.h
94     IndexedContainerIterator.h
95     InlineASM.h
96     Insertion.h
97     InstanceCounted.h
98     IsoMalloc.h
99     IsoMallocInlines.h
100     IteratorAdaptors.h
101     IteratorRange.h
102     JSONValues.h
103     JSValueMalloc.h
104     KeyValuePair.h
105     LEBDecoder.h
106     Language.h
107     ListDump.h
108     ListHashSet.h
109     Liveness.h
110     Lock.h
111     LockAlgorithm.h
112     LockAlgorithmInlines.h
113     LockedPrintStream.h
114     Locker.h
115     LocklessBag.h
116     Logger.h
117     LoggerHelper.h
118     LoggingAccumulator.h
119     LoggingHashID.h
120     LoggingHashMap.h
121     LoggingHashSet.h
122     LoggingHashTraits.h
123     MD5.h
124     MachSendRight.h
125     MainThread.h
126     MallocPtr.h
127     Markable.h
128     MathExtras.h
129     MediaTime.h
130     MemoryFootprint.h
131     MemoryPressureHandler.h
132     MessageQueue.h
133     MetaAllocator.h
134     MetaAllocatorHandle.h
135     MetaAllocatorPtr.h
136     MonotonicTime.h
137     NakedPtr.h
138     NaturalLoops.h
139     NeverDestroyed.h
140     NoLock.h
141     NoTailCalls.h
142     Noncopyable.h
143     NotFound.h
144     NumberOfCores.h
145     OSAllocator.h
146     OSObjectPtr.h
147     OSRandomSource.h
148     ObjCRuntimeExtras.h
149     ObjectIdentifier.h
150     OptionSet.h
151     Optional.h
152     OrderMaker.h
153     PackedIntVector.h
154     PageAllocation.h
155     PageBlock.h
156     PageReservation.h
157     ParallelHelperPool.h
158     ParallelJobs.h
159     ParallelJobsGeneric.h
160     ParallelJobsLibdispatch.h
161     ParallelJobsOpenMP.h
162     ParallelVectorIterator.h
163     ParkingLot.h
164     Platform.h
165     PlatformRegisters.h
166     PointerComparison.h
167     PointerPreparations.h
168     PrintStream.h
169     PriorityQueue.h
170     ProcessID.h
171     ProcessPrivilege.h
172     PtrTag.h
173     RAMSize.h
174     RandomDevice.h
175     RandomNumber.h
176     RandomNumberSeed.h
177     Range.h
178     RangeSet.h
179     RawPointer.h
180     ReadWriteLock.h
181     RecursableLambda.h
182     RecursiveLockAdapter.h
183     RedBlackTree.h
184     Ref.h
185     RefCounted.h
186     RefCountedArray.h
187     RefCountedLeakCounter.h
188     RefCounter.h
189     RefPtr.h
190     RetainPtr.h
191     RunLoop.h
192     RunLoopTimer.h
193     SHA1.h
194     SaturatedArithmetic.h
195     SchedulePair.h
196     Scope.h
197     ScopedLambda.h
198     Seconds.h
199     SegmentedVector.h
200     SentinelLinkedList.h
201     SetForScope.h
202     SharedTask.h
203     SimpleStats.h
204     SingleRootGraph.h
205     SinglyLinkedList.h
206     SinglyLinkedListWithTail.h
207     SixCharacterHash.h
208     SmallPtrSet.h
209     SoftLinking.h
210     Spectrum.h
211     StackBounds.h
212     StackPointer.h
213     StackShot.h
214     StackShotProfiler.h
215     StackStats.h
216     StackTrace.h
217     StdLibExtras.h
218     StdList.h
219     StdMap.h
220     StdSet.h
221     StdUnorderedMap.h
222     StdUnorderedSet.h
223     Stopwatch.h
224     StreamBuffer.h
225     StringExtras.h
226     StringHashDumpContext.h
227     StringPrintStream.h
228     SynchronizedFixedQueue.h
229     SystemFree.h
230     SystemTracing.h
231     ThreadGroup.h
232     ThreadMessage.h
233     ThreadSafeRefCounted.h
234     ThreadSpecific.h
235     Threading.h
236     ThreadingPrimitives.h
237     TimeWithDynamicClockType.h
238     TimingScope.h
239     TinyLRUCache.h
240     TinyPtrSet.h
241     TriState.h
242     TypeCasts.h
243     URL.h
244     URLHelpers.h
245     URLHash.h
246     URLParser.h
247     UUID.h
248     UnalignedAccess.h
249     Unexpected.h
250     UniStdExtras.h
251     UnionFind.h
252     UniqueArray.h
253     UniqueRef.h
254     UnsafePointer.h
255     VMTags.h
256     ValueCheck.h
257     Variant.h
258     Vector.h
259     VectorTraits.h
260     WTFSemaphore.h
261     WallTime.h
262     WeakPtr.h
263     WeakRandom.h
264     WindowsExtras.h
265     WordLock.h
266     WorkQueue.h
267     WorkerPool.h
268     dtoa.h
269
270     dtoa/bignum-dtoa.h
271     dtoa/bignum.h
272     dtoa/cached-powers.h
273     dtoa/diy-fp.h
274     dtoa/double-conversion.h
275     dtoa/fast-dtoa.h
276     dtoa/fixed-dtoa.h
277     dtoa/ieee.h
278     dtoa/strtod.h
279     dtoa/utils.h
280
281     persistence/PersistentCoder.h
282     persistence/PersistentCoders.h
283     persistence/PersistentDecoder.h
284     persistence/PersistentEncoder.h
285
286     text/ASCIIFastPath.h
287     text/ASCIILiteral.h
288     text/AtomicString.h
289     text/AtomicStringHash.h
290     text/AtomicStringImpl.h
291     text/AtomicStringTable.h
292     text/Base64.h
293     text/CString.h
294     text/ConversionMode.h
295     text/ExternalStringImpl.h
296     text/IntegerToStringConversion.h
297     text/LChar.h
298     text/LineBreakIteratorPoolICU.h
299     text/LineEnding.h
300     text/NullTextBreakIterator.h
301     text/OrdinalNumber.h
302     text/StringBuffer.h
303     text/StringBuilder.h
304     text/StringCommon.h
305     text/StringConcatenate.h
306     text/StringConcatenateNumbers.h
307     text/StringHash.h
308     text/StringHasher.h
309     text/StringImpl.h
310     text/StringOperators.h
311     text/StringToIntegerConversion.h
312     text/StringView.h
313     text/SymbolImpl.h
314     text/SymbolRegistry.h
315     text/TextBreakIterator.h
316     text/TextBreakIteratorInternalICU.h
317     text/TextPosition.h
318     text/TextStream.h
319     text/UTF8ConversionError.h
320     text/UniquedStringImpl.h
321     text/ValueToString.h
322     text/WTFString.h
323
324     text/icu/TextBreakIteratorICU.h
325     text/icu/UTextProvider.h
326     text/icu/UTextProviderLatin1.h
327     text/icu/UTextProviderUTF16.h
328
329     threads/BinarySemaphore.h
330     threads/Signals.h
331
332     unicode/CharacterNames.h
333     unicode/Collator.h
334     unicode/UTF8Conversion.h
335 )
336
337 set(WTF_SOURCES
338     ASCIICType.cpp
339     Assertions.cpp
340     AutomaticThread.cpp
341     BitVector.cpp
342     CPUTime.cpp
343     ClockType.cpp
344     CompilationThread.cpp
345     ConcurrentPtrHashSet.cpp
346     CountingLock.cpp
347     CrossThreadCopier.cpp
348     CrossThreadTaskHandler.cpp
349     CryptographicUtilities.cpp
350     CryptographicallyRandomNumber.cpp
351     CurrentTime.cpp
352     DataLog.cpp
353     DateMath.cpp
354     DecimalNumber.cpp
355     FastBitVector.cpp
356     FastMalloc.cpp
357     FilePrintStream.cpp
358     FileSystem.cpp
359     FunctionDispatcher.cpp
360     Gigacage.cpp
361     GlobalVersion.cpp
362     GregorianDateTime.cpp
363     HashTable.cpp
364     HexNumber.cpp
365     JSONValues.cpp
366     JSValueMalloc.cpp
367     Language.cpp
368     Lock.cpp
369     LockedPrintStream.cpp
370     Logger.cpp
371     MD5.cpp
372     MainThread.cpp
373     MediaTime.cpp
374     MemoryPressureHandler.cpp
375     MetaAllocator.cpp
376     MonotonicTime.cpp
377     NumberOfCores.cpp
378     OSRandomSource.cpp
379     ObjectIdentifier.cpp
380     PageBlock.cpp
381     ParallelHelperPool.cpp
382     ParallelJobsGeneric.cpp
383     ParkingLot.cpp
384     PrintStream.cpp
385     ProcessPrivilege.cpp
386     RAMSize.cpp
387     RandomDevice.cpp
388     RandomNumber.cpp
389     ReadWriteLock.cpp
390     RefCountedLeakCounter.cpp
391     RunLoop.cpp
392     SHA1.cpp
393     Seconds.cpp
394     SixCharacterHash.cpp
395     StackBounds.cpp
396     StackPointer.cpp
397     StackStats.cpp
398     StackTrace.cpp
399     StringPrintStream.cpp
400     ThreadGroup.cpp
401     ThreadMessage.cpp
402     Threading.cpp
403     TimeWithDynamicClockType.cpp
404     TimingScope.cpp
405     URL.cpp
406     URLHelpers.cpp
407     URLParser.cpp
408     UUID.cpp
409     WTFAssertions.cpp
410     WallTime.cpp
411     WordLock.cpp
412     WorkQueue.cpp
413     WorkerPool.cpp
414     dtoa.cpp
415
416     dtoa/bignum-dtoa.cc
417     dtoa/bignum.cc
418     dtoa/cached-powers.cc
419     dtoa/diy-fp.cc
420     dtoa/double-conversion.cc
421     dtoa/fast-dtoa.cc
422     dtoa/fixed-dtoa.cc
423     dtoa/strtod.cc
424
425     persistence/PersistentCoders.cpp
426     persistence/PersistentDecoder.cpp
427     persistence/PersistentEncoder.cpp
428
429     text/ASCIILiteral.cpp
430     text/AtomicString.cpp
431     text/AtomicStringImpl.cpp
432     text/AtomicStringTable.cpp
433     text/Base64.cpp
434     text/CString.cpp
435     text/ExternalStringImpl.cpp
436     text/LineEnding.cpp
437     text/StringBuilder.cpp
438     text/StringBuilderJSON.cpp
439     text/StringImpl.cpp
440     text/StringView.cpp
441     text/SymbolImpl.cpp
442     text/SymbolRegistry.cpp
443     text/TextBreakIterator.cpp
444     text/TextStream.cpp
445     text/WTFString.cpp
446
447     text/icu/UTextProvider.cpp
448     text/icu/UTextProviderLatin1.cpp
449     text/icu/UTextProviderUTF16.cpp
450
451     threads/BinarySemaphore.cpp
452     threads/Signals.cpp
453
454     unicode/UTF8Conversion.cpp
455 )
456
457 set(WTF_INCLUDE_DIRECTORIES
458     "${BMALLOC_DIR}"
459     "${CMAKE_BINARY_DIR}"
460     "${DERIVED_SOURCES_DIR}"
461     "${THIRDPARTY_DIR}"
462 )
463
464 set(WTF_PRIVATE_INCLUDE_DIRECTORIES
465     "${WTF_DIR}"
466     "${WTF_DIR}/wtf"
467     "${WTF_DIR}/wtf/dtoa"
468     "${WTF_DIR}/wtf/persistence"
469     "${WTF_DIR}/wtf/text"
470     "${WTF_DIR}/wtf/text/icu"
471     "${WTF_DIR}/wtf/threads"
472     "${WTF_DIR}/wtf/unicode"
473 )
474
475 set(WTF_LIBRARIES
476     ${CMAKE_DL_LIBS}
477 )
478
479 if (NOT USE_SYSTEM_MALLOC)
480     list(APPEND WTF_LIBRARIES bmalloc)
481 endif ()
482
483 list(APPEND WTF_SOURCES
484     unicode/CollatorDefault.cpp
485
486     unicode/icu/CollatorICU.cpp
487 )
488 set(WTF_SYSTEM_INCLUDE_DIRECTORIES
489     ${ICU_INCLUDE_DIRS}
490 )
491 list(APPEND WTF_LIBRARIES
492     ${ICU_DATA_LIBRARIES}
493     ${ICU_I18N_LIBRARIES}
494     ${ICU_LIBRARIES}
495 )
496
497 WEBKIT_FRAMEWORK_DECLARE(WTF)
498 WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
499
500 WEBKIT_WRAP_SOURCELIST(${WTF_SOURCES})
501 WEBKIT_FRAMEWORK(WTF)
502
503 WEBKIT_MAKE_FORWARDING_HEADERS(WTF
504     DESTINATION ${FORWARDING_HEADERS_DIR}/wtf
505     FILES ${WTF_PUBLIC_HEADERS}
506 )
507
508 if (MSVC)
509     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
510     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
511
512     add_custom_command(
513         TARGET WTF
514         PRE_BUILD
515         COMMAND ${PERL_EXECUTABLE} ${WEBKIT_LIBRARIES_DIR}/tools/scripts/auto-version.pl ${DERIVED_SOURCES_DIR}
516         VERBATIM)
517
518     add_custom_command(
519         TARGET WTF
520         POST_BUILD
521         COMMAND ${PERL_EXECUTABLE} ${WEBKIT_LIBRARIES_DIR}/tools/scripts/version-stamp.pl ${DERIVED_SOURCES_DIR} $<TARGET_FILE:WTF>
522         VERBATIM)
523 endif ()
524
525 file(MAKE_DIRECTORY ${FORWARDING_HEADERS_DIR}/wtf/Scripts)
526
527 file(COPY
528     ../Scripts/generate-unified-source-bundles.rb
529     DESTINATION
530     ${FORWARDING_HEADERS_DIR}/wtf/Scripts
531 )