[GTK][WPE] Need a function to convert internal URI to display ("pretty") URI
[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     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     Markable.h
126     MathExtras.h
127     MediaTime.h
128     MemoryFootprint.h
129     MemoryPressureHandler.h
130     MessageQueue.h
131     MetaAllocator.h
132     MetaAllocatorHandle.h
133     MetaAllocatorPtr.h
134     MonotonicTime.h
135     NakedPtr.h
136     NaturalLoops.h
137     NeverDestroyed.h
138     NoLock.h
139     NoTailCalls.h
140     Noncopyable.h
141     NotFound.h
142     NumberOfCores.h
143     OSAllocator.h
144     OSObjectPtr.h
145     OSRandomSource.h
146     ObjCRuntimeExtras.h
147     ObjectIdentifier.h
148     OptionSet.h
149     Optional.h
150     OrderMaker.h
151     PackedIntVector.h
152     PageAllocation.h
153     PageBlock.h
154     PageReservation.h
155     ParallelHelperPool.h
156     ParallelJobs.h
157     ParallelJobsGeneric.h
158     ParallelJobsLibdispatch.h
159     ParallelJobsOpenMP.h
160     ParallelVectorIterator.h
161     ParkingLot.h
162     Platform.h
163     PlatformRegisters.h
164     PointerComparison.h
165     PointerPreparations.h
166     Poisoned.h
167     PoisonedUniquePtr.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/double.h
276     dtoa/fast-dtoa.h
277     dtoa/fixed-dtoa.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     Assertions.cpp
339     AutomaticThread.cpp
340     BitVector.cpp
341     CPUTime.cpp
342     ClockType.cpp
343     CompilationThread.cpp
344     ConcurrentPtrHashSet.cpp
345     CountingLock.cpp
346     CrossThreadCopier.cpp
347     CrossThreadTaskHandler.cpp
348     CryptographicUtilities.cpp
349     CryptographicallyRandomNumber.cpp
350     CurrentTime.cpp
351     DataLog.cpp
352     DateMath.cpp
353     DecimalNumber.cpp
354     FastBitVector.cpp
355     FastMalloc.cpp
356     FilePrintStream.cpp
357     FunctionDispatcher.cpp
358     Gigacage.cpp
359     GlobalVersion.cpp
360     GregorianDateTime.cpp
361     HashTable.cpp
362     JSONValues.cpp
363     JSValueMalloc.cpp
364     Language.cpp
365     Lock.cpp
366     LockedPrintStream.cpp
367     MD5.cpp
368     MainThread.cpp
369     MediaTime.cpp
370     MemoryPressureHandler.cpp
371     MetaAllocator.cpp
372     MonotonicTime.cpp
373     NumberOfCores.cpp
374     OSRandomSource.cpp
375     PageBlock.cpp
376     ParallelHelperPool.cpp
377     ParallelJobsGeneric.cpp
378     ParkingLot.cpp
379     Poisoned.cpp
380     PrintStream.cpp
381     ProcessPrivilege.cpp
382     RAMSize.cpp
383     RandomDevice.cpp
384     RandomNumber.cpp
385     ReadWriteLock.cpp
386     RefCountedLeakCounter.cpp
387     RunLoop.cpp
388     SHA1.cpp
389     Seconds.cpp
390     SixCharacterHash.cpp
391     StackBounds.cpp
392     StackPointer.cpp
393     StackStats.cpp
394     StackTrace.cpp
395     StringPrintStream.cpp
396     ThreadGroup.cpp
397     ThreadMessage.cpp
398     Threading.cpp
399     TimeWithDynamicClockType.cpp
400     TimingScope.cpp
401     URL.cpp
402     URLHelpers.cpp
403     URLParser.cpp
404     UUID.cpp
405     WTFAssertions.cpp
406     WallTime.cpp
407     WordLock.cpp
408     WorkQueue.cpp
409     WorkerPool.cpp
410     dtoa.cpp
411
412     dtoa/bignum-dtoa.cc
413     dtoa/bignum.cc
414     dtoa/cached-powers.cc
415     dtoa/diy-fp.cc
416     dtoa/double-conversion.cc
417     dtoa/fast-dtoa.cc
418     dtoa/fixed-dtoa.cc
419     dtoa/strtod.cc
420
421     persistence/PersistentCoders.cpp
422     persistence/PersistentDecoder.cpp
423     persistence/PersistentEncoder.cpp
424
425     text/ASCIILiteral.cpp
426     text/AtomicString.cpp
427     text/AtomicStringImpl.cpp
428     text/AtomicStringTable.cpp
429     text/Base64.cpp
430     text/CString.cpp
431     text/ExternalStringImpl.cpp
432     text/LineEnding.cpp
433     text/StringBuilder.cpp
434     text/StringBuilderJSON.cpp
435     text/StringImpl.cpp
436     text/StringView.cpp
437     text/SymbolImpl.cpp
438     text/SymbolRegistry.cpp
439     text/TextBreakIterator.cpp
440     text/TextStream.cpp
441     text/WTFString.cpp
442
443     text/icu/UTextProvider.cpp
444     text/icu/UTextProviderLatin1.cpp
445     text/icu/UTextProviderUTF16.cpp
446
447     threads/BinarySemaphore.cpp
448     threads/Signals.cpp
449
450     unicode/UTF8Conversion.cpp
451 )
452
453 set(WTF_INCLUDE_DIRECTORIES
454     "${BMALLOC_DIR}"
455     "${CMAKE_BINARY_DIR}"
456     "${DERIVED_SOURCES_DIR}"
457     "${THIRDPARTY_DIR}"
458 )
459
460 set(WTF_PRIVATE_INCLUDE_DIRECTORIES
461     "${WTF_DIR}"
462     "${WTF_DIR}/wtf"
463     "${WTF_DIR}/wtf/dtoa"
464     "${WTF_DIR}/wtf/persistence"
465     "${WTF_DIR}/wtf/text"
466     "${WTF_DIR}/wtf/text/icu"
467     "${WTF_DIR}/wtf/threads"
468     "${WTF_DIR}/wtf/unicode"
469 )
470
471 set(WTF_LIBRARIES
472     ${CMAKE_DL_LIBS}
473 )
474
475 if (NOT USE_SYSTEM_MALLOC)
476     list(APPEND WTF_LIBRARIES bmalloc)
477 endif ()
478
479 list(APPEND WTF_SOURCES
480     unicode/CollatorDefault.cpp
481
482     unicode/icu/CollatorICU.cpp
483 )
484 set(WTF_SYSTEM_INCLUDE_DIRECTORIES
485     ${ICU_INCLUDE_DIRS}
486 )
487 list(APPEND WTF_LIBRARIES
488     ${ICU_DATA_LIBRARIES}
489     ${ICU_I18N_LIBRARIES}
490     ${ICU_LIBRARIES}
491 )
492
493 if (WIN32)
494     list(APPEND WTF_SOURCES
495         OSAllocatorWin.cpp
496         ThreadSpecificWin.cpp
497         ThreadingWin.cpp
498     )
499     list(APPEND WTF_LIBRARIES
500         DbgHelp
501         winmm
502     )
503 else ()
504     list(APPEND WTF_SOURCES
505         OSAllocatorPosix.cpp
506         ThreadingPthreads.cpp
507     )
508 endif ()
509
510 WEBKIT_FRAMEWORK_DECLARE(WTF)
511 WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
512
513 WEBKIT_WRAP_SOURCELIST(${WTF_SOURCES})
514 WEBKIT_FRAMEWORK(WTF)
515
516 WEBKIT_MAKE_FORWARDING_HEADERS(WTF
517     DESTINATION ${FORWARDING_HEADERS_DIR}/wtf
518     FILES ${WTF_PUBLIC_HEADERS}
519 )
520
521 if (MSVC)
522     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
523     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
524
525     add_custom_command(
526         TARGET WTF
527         PRE_BUILD
528         COMMAND ${PERL_EXECUTABLE} ${WEBKIT_LIBRARIES_DIR}/tools/scripts/auto-version.pl ${DERIVED_SOURCES_DIR}
529         VERBATIM)
530
531     add_custom_command(
532         TARGET WTF
533         POST_BUILD
534         COMMAND ${PERL_EXECUTABLE} ${WEBKIT_LIBRARIES_DIR}/tools/scripts/version-stamp.pl ${DERIVED_SOURCES_DIR} $<TARGET_FILE:WTF>
535         VERBATIM)
536 endif ()
537
538 file(MAKE_DIRECTORY ${FORWARDING_HEADERS_DIR}/wtf/Scripts)
539
540 file(COPY
541     ../Scripts/generate-unified-source-bundles.rb
542     DESTINATION
543     ${FORWARDING_HEADERS_DIR}/wtf/Scripts
544 )