set(WTF_PUBLIC_HEADERS ASCIICType.h Algorithms.h Assertions.h Atomics.h AutodrainedPool.h AutomaticThread.h BackwardsGraph.h Bag.h BagToHashMap.h BitVector.h Bitmap.h BlockObjCExceptions.h BlockPtr.h BlockStack.h BloomFilter.h BooleanLattice.h Box.h Brigand.h BubbleSort.h BumpPointerAllocator.h ByteOrder.h CPUTime.h CagedPtr.h CagedUniquePtr.h CallbackAggregator.h CheckedArithmetic.h CheckedBoolean.h ClockType.h CommaPrinter.h CompilationThread.h Compiler.h CompletionHandler.h ConcurrentBuffer.h ConcurrentPtrHashSet.h ConcurrentVector.h Condition.h CountingLock.h CrossThreadCopier.h CrossThreadQueue.h CrossThreadTask.h CrossThreadTaskHandler.h CryptographicUtilities.h CryptographicallyRandomNumber.h DataLog.h DateMath.h DebugUtilities.h DecimalNumber.h DeferrableRefCounted.h DeprecatedOptional.h Deque.h DisallowCType.h Dominators.h DoublyLinkedList.h DumbPtrTraits.h DumbValueTraits.h EnumTraits.h Expected.h ExportMacros.h FastBitVector.h FastMalloc.h FastTLS.h FeatureDefines.h FilePrintStream.h FlipBytes.h ForbidHeapAllocation.h Forward.h Function.h FunctionDispatcher.h FunctionTraits.h GetPtr.h Gigacage.h GlobalVersion.h GraphNodeWorklist.h GregorianDateTime.h HashCountedSet.h HashFunctions.h HashIterators.h HashMap.h HashMethod.h HashSet.h HashTable.h HashTraits.h Hasher.h HexNumber.h Identified.h Indenter.h IndexKeyType.h IndexMap.h IndexSet.h IndexSparseSet.h IndexedContainerIterator.h InlineASM.h Insertion.h InstanceCounted.h IsoMalloc.h IsoMallocInlines.h IteratorAdaptors.h IteratorRange.h JSONValues.h JSValueMalloc.h KeyValuePair.h LEBDecoder.h Language.h ListDump.h ListHashSet.h Liveness.h Lock.h LockAlgorithm.h LockAlgorithmInlines.h LockedPrintStream.h Locker.h LocklessBag.h Logger.h LoggerHelper.h LoggingAccumulator.h LoggingHashID.h LoggingHashMap.h LoggingHashSet.h LoggingHashTraits.h MD5.h MachSendRight.h MainThread.h MallocPtr.h MathExtras.h MediaTime.h MemoryFootprint.h MemoryPressureHandler.h MessageQueue.h MetaAllocator.h MetaAllocatorHandle.h MetaAllocatorPtr.h MonotonicTime.h NakedPtr.h NaturalLoops.h NeverDestroyed.h NoLock.h NoTailCalls.h Noncopyable.h NotFound.h NumberOfCores.h OSAllocator.h OSObjectPtr.h OSRandomSource.h ObjcRuntimeExtras.h ObjectIdentifier.h OptionSet.h Optional.h OrderMaker.h PackedIntVector.h PageAllocation.h PageBlock.h PageReservation.h ParallelHelperPool.h ParallelJobs.h ParallelJobsGeneric.h ParallelJobsLibdispatch.h ParallelJobsOpenMP.h ParallelVectorIterator.h ParkingLot.h Platform.h PlatformRegisters.h PointerComparison.h PointerPreparations.h Poisoned.h PoisonedUniquePtr.h PrintStream.h PriorityQueue.h ProcessID.h ProcessPrivilege.h PtrTag.h RAMSize.h RandomDevice.h RandomNumber.h RandomNumberSeed.h Range.h RangeSet.h RawPointer.h ReadWriteLock.h RecursableLambda.h RecursiveLockAdapter.h RedBlackTree.h Ref.h RefCounted.h RefCountedArray.h RefCountedLeakCounter.h RefCounter.h RefPtr.h RetainPtr.h RunLoop.h RunLoopTimer.h SHA1.h SaturatedArithmetic.h SchedulePair.h Scope.h ScopedLambda.h Seconds.h SegmentedVector.h SentinelLinkedList.h SetForScope.h SharedTask.h SimpleStats.h SingleRootGraph.h SinglyLinkedList.h SinglyLinkedListWithTail.h SixCharacterHash.h SmallPtrSet.h SoftLinking.h Spectrum.h StackBounds.h StackShot.h StackShotProfiler.h StackStats.h StackTrace.h StdLibExtras.h StdList.h StdMap.h StdSet.h StdUnorderedMap.h StdUnorderedSet.h Stopwatch.h StreamBuffer.h StringExtras.h StringHashDumpContext.h StringPrintStream.h SynchronizedFixedQueue.h SystemFree.h SystemTracing.h ThreadGroup.h ThreadMessage.h ThreadSafeRefCounted.h ThreadSpecific.h Threading.h ThreadingPrimitives.h TimeWithDynamicClockType.h TimingScope.h TinyLRUCache.h TinyPtrSet.h TriState.h TypeCasts.h UUID.h Unexpected.h UniStdExtras.h UnionFind.h UniqueArray.h UniqueRef.h UnsafePointer.h VMTags.h ValueCheck.h Variant.h Vector.h VectorTraits.h WallTime.h WeakPtr.h WeakRandom.h WindowsExtras.h WordLock.h WorkQueue.h WorkerPool.h dtoa.h dtoa/bignum-dtoa.h dtoa/bignum.h dtoa/cached-powers.h dtoa/diy-fp.h dtoa/double-conversion.h dtoa/double.h dtoa/fast-dtoa.h dtoa/fixed-dtoa.h dtoa/strtod.h dtoa/utils.h persistence/PersistentCoder.h persistence/PersistentCoders.h persistence/PersistentDecoder.h persistence/PersistentEncoder.h text/ASCIIFastPath.h text/ASCIILiteral.h text/AtomicString.h text/AtomicStringHash.h text/AtomicStringImpl.h text/AtomicStringTable.h text/Base64.h text/CString.h text/ConversionMode.h text/IntegerToStringConversion.h text/LChar.h text/LineBreakIteratorPoolICU.h text/LineEnding.h text/NullTextBreakIterator.h text/OrdinalNumber.h text/StringBuffer.h text/StringBuilder.h text/StringCommon.h text/StringConcatenate.h text/StringConcatenateNumbers.h text/StringHash.h text/StringHasher.h text/StringImpl.h text/StringOperators.h text/StringView.h text/SymbolImpl.h text/SymbolRegistry.h text/TextBreakIterator.h text/TextBreakIteratorInternalICU.h text/TextPosition.h text/TextStream.h text/UTF8ConversionError.h text/UniquedStringImpl.h text/ValueToString.h text/WTFString.h text/icu/TextBreakIteratorICU.h text/icu/UTextProvider.h text/icu/UTextProviderLatin1.h text/icu/UTextProviderUTF16.h threads/BinarySemaphore.h threads/Signals.h unicode/CharacterNames.h unicode/Collator.h unicode/UTF8.h ) set(WTF_SOURCES Assertions.cpp AutomaticThread.cpp BitVector.cpp CPUTime.cpp ClockType.cpp CompilationThread.cpp ConcurrentPtrHashSet.cpp CountingLock.cpp CrossThreadCopier.cpp CrossThreadTaskHandler.cpp CryptographicUtilities.cpp CryptographicallyRandomNumber.cpp CurrentTime.cpp DataLog.cpp DateMath.cpp DecimalNumber.cpp FastBitVector.cpp FastMalloc.cpp FilePrintStream.cpp FunctionDispatcher.cpp Gigacage.cpp GlobalVersion.cpp GregorianDateTime.cpp HashTable.cpp JSONValues.cpp JSValueMalloc.cpp Language.cpp Lock.cpp LockedPrintStream.cpp MD5.cpp MainThread.cpp MediaTime.cpp MemoryPressureHandler.cpp MetaAllocator.cpp MonotonicTime.cpp NumberOfCores.cpp OSRandomSource.cpp PageBlock.cpp ParallelHelperPool.cpp ParallelJobsGeneric.cpp ParkingLot.cpp Poisoned.cpp PrintStream.cpp ProcessPrivilege.cpp RAMSize.cpp RandomDevice.cpp RandomNumber.cpp ReadWriteLock.cpp RefCountedLeakCounter.cpp RunLoop.cpp SHA1.cpp Seconds.cpp SixCharacterHash.cpp StackBounds.cpp StackStats.cpp StackTrace.cpp StringPrintStream.cpp ThreadGroup.cpp ThreadMessage.cpp Threading.cpp TimeWithDynamicClockType.cpp TimingScope.cpp UUID.cpp WTFAssertions.cpp WallTime.cpp WordLock.cpp WorkQueue.cpp WorkerPool.cpp dtoa.cpp dtoa/bignum-dtoa.cc dtoa/bignum.cc dtoa/cached-powers.cc dtoa/diy-fp.cc dtoa/double-conversion.cc dtoa/fast-dtoa.cc dtoa/fixed-dtoa.cc dtoa/strtod.cc persistence/PersistentCoders.cpp persistence/PersistentDecoder.cpp persistence/PersistentEncoder.cpp text/ASCIILiteral.cpp text/AtomicString.cpp text/AtomicStringImpl.cpp text/AtomicStringTable.cpp text/Base64.cpp text/CString.cpp text/LineEnding.cpp text/StringBuilder.cpp text/StringBuilderJSON.cpp text/StringImpl.cpp text/StringView.cpp text/SymbolImpl.cpp text/SymbolRegistry.cpp text/TextBreakIterator.cpp text/TextStream.cpp text/WTFString.cpp text/icu/UTextProvider.cpp text/icu/UTextProviderLatin1.cpp text/icu/UTextProviderUTF16.cpp threads/BinarySemaphore.cpp threads/Signals.cpp unicode/UTF8.cpp ) set(WTF_INCLUDE_DIRECTORIES "${BMALLOC_DIR}" "${CMAKE_BINARY_DIR}" "${DERIVED_SOURCES_DIR}" "${THIRDPARTY_DIR}" ) set(WTF_PRIVATE_INCLUDE_DIRECTORIES "${WTF_DIR}" "${WTF_DIR}/wtf" "${WTF_DIR}/wtf/dtoa" "${WTF_DIR}/wtf/persistence" "${WTF_DIR}/wtf/text" "${WTF_DIR}/wtf/text/icu" "${WTF_DIR}/wtf/threads" "${WTF_DIR}/wtf/unicode" ) set(WTF_LIBRARIES ${CMAKE_DL_LIBS} ) if (CMAKE_SYSTEM_NAME MATCHES "Darwin") list(APPEND WTF_PUBLIC_HEADERS spi/darwin/CommonCryptoSPI.h ) list(APPEND WTF_PRIVATE_INCLUDE_DIRECTORIES "${WTF_DIR}/wtf/spi/darwin" ) endif () if (NOT USE_SYSTEM_MALLOC) list(APPEND WTF_LIBRARIES bmalloc) endif () list(APPEND WTF_SOURCES unicode/CollatorDefault.cpp unicode/icu/CollatorICU.cpp ) set(WTF_SYSTEM_INCLUDE_DIRECTORIES ${ICU_INCLUDE_DIRS} ) list(APPEND WTF_LIBRARIES ${ICU_DATA_LIBRARIES} ${ICU_I18N_LIBRARIES} ${ICU_LIBRARIES} ) if (WIN32) list(APPEND WTF_SOURCES OSAllocatorWin.cpp ThreadSpecificWin.cpp ThreadingWin.cpp ) list(APPEND WTF_LIBRARIES winmm ) else () list(APPEND WTF_SOURCES OSAllocatorPosix.cpp ThreadingPthreads.cpp ) endif () WEBKIT_FRAMEWORK_DECLARE(WTF) WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() WEBKIT_WRAP_SOURCELIST(${WTF_SOURCES}) WEBKIT_FRAMEWORK(WTF) WEBKIT_MAKE_FORWARDING_HEADERS(WTF DESTINATION ${FORWARDING_HEADERS_DIR}/wtf FILES ${WTF_PUBLIC_HEADERS} ) if (MSVC) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS") add_custom_command( TARGET WTF PRE_BUILD COMMAND ${PERL_EXECUTABLE} ${WEBKIT_LIBRARIES_DIR}/tools/scripts/auto-version.pl ${DERIVED_SOURCES_DIR} VERBATIM) add_custom_command( TARGET WTF POST_BUILD COMMAND ${PERL_EXECUTABLE} ${WEBKIT_LIBRARIES_DIR}/tools/scripts/version-stamp.pl ${DERIVED_SOURCES_DIR} $ VERBATIM) endif () file(MAKE_DIRECTORY ${FORWARDING_HEADERS_DIR}/wtf/Scripts) file(COPY ../Scripts/generate-unified-source-bundles.rb DESTINATION ${FORWARDING_HEADERS_DIR}/wtf/Scripts )