0efabb19e524150fa1d1bf0fccee1f85a368fa1f
[WebKit-https.git] / Source / WTF / wtf / CMakeLists.txt
1 set(WTF_HEADERS
2     ASCIICType.h
3     AVLTree.h
4     Assertions.h
5     Atomics.h
6     Bag.h
7     BagToHashMap.h
8     BitVector.h
9     Bitmap.h
10     BoundsCheckedPointer.h
11     BumpPointerAllocator.h
12     ByteOrder.h
13     CompilationThread.h
14     Compiler.h
15     Compression.h
16     CryptographicallyRandomNumber.h
17     CurrentTime.h
18     DataLog.h
19     DateMath.h
20     DecimalNumber.h
21     Decoder.h
22     DeferrableRefCounted.h
23     Deque.h
24     DisallowCType.h
25     DoublyLinkedList.h
26     DynamicAnnotations.h
27     Encoder.h
28     FastMalloc.h
29     FeatureDefines.h
30     FilePrintStream.h
31     FlipBytes.h
32     Forward.h
33     FunctionDispatcher.h
34     Functional.h
35     GetPtr.h
36     GregorianDateTime.h
37     HashCountedSet.h
38     HashFunctions.h
39     HashIterators.h
40     HashMap.h
41     HashSet.h
42     HashTable.h
43     HashTraits.h
44     HexNumber.h
45     IteratorAdaptors.h
46     IteratorRange.h
47     ListHashSet.h
48     Locker.h
49     MD5.h
50     MainThread.h
51     MallocPtr.h
52     MathExtras.h
53     MediaTime.h
54     MessageQueue.h
55     MetaAllocator.h
56     MetaAllocatorHandle.h
57     Noncopyable.h
58     NumberOfCores.h
59     OSAllocator.h
60     OSRandomSource.h
61     OwnPtr.h
62     OwnPtrCommon.h
63     PageAllocation.h
64     PageAllocationAligned.h
65     PageBlock.h
66     PageReservation.h
67     ParallelJobs.h
68     ParallelJobsGeneric.h
69     ParallelJobsLibdispatch.h
70     ParallelJobsOpenMP.h
71     PassOwnPtr.h
72     PassRef.h
73     PassRefPtr.h
74     Platform.h
75     PossiblyNull.h
76     PrintStream.h
77     ProcessID.h
78     RAMSize.h
79     RandomNumber.h
80     RandomNumberSeed.h
81     RawPointer.h
82     RedBlackTree.h
83     Ref.h
84     RefCounted.h
85     RefCountedLeakCounter.h
86     RefPtr.h
87     RefPtrHashMap.h
88     RetainPtr.h
89     RunLoop.h
90     SHA1.h
91     SaturatedArithmetic.h
92     SegmentedVector.h
93     StackBounds.h
94     StaticConstructors.h
95     StdLibExtras.h
96     StringExtras.h
97     StringHasher.h
98     StringPrintStream.h
99     TCPackedCache.h
100     TCPageMap.h
101     TCSpinLock.h
102     TCSystemAlloc.h
103     ThreadIdentifierDataPthreads.h
104     ThreadSafeRefCounted.h
105     ThreadSpecific.h
106     Threading.h
107     ThreadingPrimitives.h
108     VMTags.h
109     ValueCheck.h
110     Vector.h
111     VectorTraits.h
112     WTFThreadData.h
113     WeakPtr.h
114     dtoa.h
115
116     dtoa/bignum-dtoa.h
117     dtoa/bignum.h
118     dtoa/cached-powers.h
119     dtoa/diy-fp.h
120     dtoa/double-conversion.h
121     dtoa/double.h
122     dtoa/fast-dtoa.h
123     dtoa/fixed-dtoa.h
124     dtoa/strtod.h
125     dtoa/utils.h
126
127     text/AtomicString.h
128     text/AtomicStringImpl.h
129     text/AtomicStringTable.h
130     text/Base64.h
131     text/CString.h
132     text/IntegerToStringConversion.h
133     text/LChar.h
134     text/StringBuffer.h
135     text/StringHash.h
136     text/StringImpl.h
137     text/StringView.h
138     text/WTFString.h
139
140     threads/BinarySemaphore.h
141
142     unicode/CharacterNames.h
143     unicode/Collator.h
144     unicode/UTF8.h
145     unicode/Unicode.h
146 )
147
148 set(WTF_SOURCES
149     Assertions.cpp
150     Atomics.cpp
151     BitVector.cpp
152     CompilationThread.cpp
153     Compression.cpp
154     CryptographicallyRandomNumber.cpp
155     CurrentTime.cpp
156     DataLog.cpp
157     DateMath.cpp
158     DecimalNumber.cpp
159     DynamicAnnotations.cpp
160     FastBitVector.cpp
161     FastMalloc.cpp
162     FilePrintStream.cpp
163     FunctionDispatcher.cpp
164     GregorianDateTime.cpp
165     HashTable.cpp
166     MD5.cpp
167     MainThread.cpp
168     MediaTime.cpp
169     MetaAllocator.cpp
170     NumberOfCores.cpp
171     OSRandomSource.cpp
172     PageAllocationAligned.cpp
173     PageBlock.cpp
174     ParallelJobsGeneric.cpp
175     PrintStream.cpp
176     RAMSize.cpp
177     RandomNumber.cpp
178     RefCountedLeakCounter.cpp
179     RunLoop.cpp
180     SHA1.cpp
181     SixCharacterHash.cpp
182     StackBounds.cpp
183     StringPrintStream.cpp
184     TCSystemAlloc.cpp
185     Threading.cpp
186     WTFThreadData.cpp
187     dtoa.cpp
188
189     dtoa/bignum-dtoa.cc
190     dtoa/bignum.cc
191     dtoa/cached-powers.cc
192     dtoa/diy-fp.cc
193     dtoa/double-conversion.cc
194     dtoa/fast-dtoa.cc
195     dtoa/fixed-dtoa.cc
196     dtoa/strtod.cc
197
198     text/AtomicString.cpp
199     text/AtomicStringTable.cpp
200     text/Base64.cpp
201     text/CString.cpp
202     text/StringBuilder.cpp
203     text/StringImpl.cpp
204     text/StringStatics.cpp
205     text/WTFString.cpp
206
207     threads/BinarySemaphore.cpp
208
209     unicode/UTF8.cpp
210 )
211
212 set(WTF_INCLUDE_DIRECTORIES
213     "${WTF_DIR}"
214     "${WTF_DIR}/wtf"
215     "${WTF_DIR}/wtf/dtoa"
216     "${WTF_DIR}/wtf/threads"
217     "${WTF_DIR}/wtf/unicode"
218     "${THIRDPARTY_DIR}"
219     "${CMAKE_BINARY_DIR}"
220 )
221
222 set(WTF_LIBRARIES
223     ${CMAKE_DL_LIBS}
224 )
225
226 list(APPEND WTF_HEADERS
227     unicode/icu/UnicodeIcu.h
228 )
229 list(APPEND WTF_SOURCES
230     unicode/icu/CollatorICU.cpp
231 )
232 list(APPEND WTF_INCLUDE_DIRECTORIES
233     ${ICU_INCLUDE_DIRS}
234 )
235 list(APPEND WTF_LIBRARIES
236     ${ICU_I18N_LIBRARIES}
237     ${ICU_LIBRARIES}
238 )
239
240 if (WIN32)
241     list(APPEND WTF_SOURCES
242         OSAllocatorWin.cpp
243         ThreadSpecificWin.cpp
244         ThreadingWin.cpp
245     )
246 else ()
247     list(APPEND WTF_HEADERS
248         ThreadIdentifierDataPthreads.h
249     )
250     list(APPEND WTF_SOURCES
251         OSAllocatorPosix.cpp
252         ThreadIdentifierDataPthreads.cpp
253         ThreadingPthreads.cpp
254     )
255 endif ()
256
257 WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
258
259 WEBKIT_WRAP_SOURCELIST(${WTF_SOURCES})
260 include_directories(${WTF_INCLUDE_DIRECTORIES})
261 add_library(WTF STATIC ${WTF_HEADERS} ${WTF_SOURCES})
262 target_link_libraries(WTF ${WTF_LIBRARIES})
263 set_target_properties(WTF PROPERTIES COMPILE_DEFINITIONS "BUILDING_WTF")
264 set_target_properties(WTF PROPERTIES FOLDER "JavaScriptCore")
265
266 if (WTF_OUTPUT_NAME)
267     set_target_properties(WTF PROPERTIES OUTPUT_NAME ${WTF_OUTPUT_NAME})
268 endif ()