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