b71fa2f8b9a5c6b3eb443671ef8820e68f829efc
[WebKit-https.git] / Source / WTF / wtf / CMakeLists.txt
1 set(WTF_HEADERS
2     ASCIICType.h
3     AVLTree.h
4     Alignment.h
5     Assertions.h
6     Atomics.h
7     BitArray.h
8     BitVector.h
9     Bitmap.h
10     BoundsCheckedPointer.h
11     BumpPointerAllocator.h
12     ByteOrder.h
13     CompilationThread.h
14     Compiler.h
15     CryptographicallyRandomNumber.h
16     CurrentTime.h
17     DateMath.h
18     DataLog.h
19     DecimalNumber.h
20     Decoder.h
21     Deque.h
22     DisallowCType.h
23     DoublyLinkedList.h
24     DynamicAnnotations.h
25     Encoder.h
26     FastAllocBase.h
27     FastMalloc.h
28     FeatureDefines.h
29     FilePrintStream.h
30     FixedArray.h
31     Forward.h
32     FunctionDispatcher.h
33     Functional.h
34     GetPtr.h
35     GregorianDateTime.h
36     HashCountedSet.h
37     HashFunctions.h
38     HashIterators.h
39     HashMap.h
40     HashSet.h
41     HashTable.h
42     HashTraits.h
43     HexNumber.h
44     ListHashSet.h
45     Locker.h
46     MD5.h
47     MainThread.h
48     MathExtras.h
49     MediaTime.h
50     MessageQueue.h
51     MetaAllocator.h
52     MetaAllocatorHandle.h
53     NonCopyingSort.h
54     ThreadRestrictionVerifier.h
55     Noncopyable.h
56     NotFound.h
57     NullPtr.h
58     NumberOfCores.h
59     RAMSize.h
60     OSAllocator.h
61     OSRandomSource.h
62     OwnArrayPtr.h
63     OwnPtr.h
64     OwnPtrCommon.h
65     PageAllocation.h
66     PageAllocationAligned.h
67     PageBlock.h
68     PageReservation.h
69     PassOwnArrayPtr.h
70     PassOwnPtr.h
71     PassRefPtr.h
72     PassTraits.h
73     ParallelJobs.h
74     ParallelJobsGeneric.h
75     ParallelJobsLibdispatch.h
76     ParallelJobsOpenMP.h
77     Platform.h
78     PossiblyNull.h
79     PrintStream.h
80     ProcessID.h
81     RandomNumber.h
82     RandomNumberSeed.h
83     RawPointer.h
84     RedBlackTree.h
85     RefCounted.h
86     RefCountedLeakCounter.h
87     RefPtr.h
88     RefPtrHashMap.h
89     RetainPtr.h
90     SaturatedArithmetic.h
91     SegmentedVector.h
92     SHA1.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     TypeTraits.h
109     VMTags.h
110     ValueCheck.h
111     Vector.h
112     VectorTraits.h
113     WTFThreadData.h
114     WeakPtr.h
115     dtoa.h
116
117     dtoa/bignum-dtoa.h
118     dtoa/bignum.h
119     dtoa/cached-powers.h
120     dtoa/diy-fp.h
121     dtoa/double-conversion.h
122     dtoa/double.h
123     dtoa/fast-dtoa.h
124     dtoa/fixed-dtoa.h
125     dtoa/strtod.h
126     dtoa/utils.h
127
128     text/AtomicString.h
129     text/AtomicStringImpl.h
130     text/AtomicStringTable.h
131     text/Base64.h
132     text/CString.h
133     text/IntegerToStringConversion.h
134     text/StringBuffer.h
135     text/StringHash.h
136     text/StringImpl.h
137     text/WTFString.h
138
139     threads/BinarySemaphore.h
140
141     unicode/CharacterNames.h
142     unicode/Collator.h
143     unicode/UTF8.h
144     unicode/Unicode.h
145 )
146
147 set(WTF_SOURCES
148     ArrayBuffer.cpp
149     ArrayBufferView.cpp
150     Assertions.cpp
151     Atomics.cpp
152     BitVector.cpp
153     CompilationThread.cpp
154     CryptographicallyRandomNumber.cpp
155     CurrentTime.cpp
156     DateMath.cpp
157     DataLog.cpp
158     DecimalNumber.cpp
159     DynamicAnnotations.cpp
160     FastMalloc.cpp
161     FilePrintStream.cpp
162     FunctionDispatcher.cpp
163     GregorianDateTime.cpp
164     HashTable.cpp
165     MD5.cpp
166     MainThread.cpp
167     MediaTime.cpp
168     MetaAllocator.cpp
169     NullPtr.cpp
170     OSRandomSource.cpp
171     NumberOfCores.cpp
172     RAMSize.cpp
173     PageAllocationAligned.cpp
174     PageBlock.cpp
175     ParallelJobsGeneric.cpp
176     PrintStream.cpp
177     RandomNumber.cpp
178     RefCountedLeakCounter.cpp
179     SHA1.cpp
180     StackBounds.cpp
181     StringPrintStream.cpp
182     TCSystemAlloc.cpp
183     Threading.cpp
184     TypeTraits.cpp
185     WTFThreadData.cpp
186     dtoa.cpp
187
188     dtoa/bignum-dtoa.cc
189     dtoa/bignum.cc
190     dtoa/cached-powers.cc
191     dtoa/diy-fp.cc
192     dtoa/double-conversion.cc
193     dtoa/fast-dtoa.cc
194     dtoa/fixed-dtoa.cc
195     dtoa/strtod.cc
196
197     text/AtomicString.cpp
198     text/AtomicStringTable.cpp
199     text/Base64.cpp
200     text/CString.cpp
201     text/StringBuilder.cpp
202     text/StringImpl.cpp
203     text/StringStatics.cpp
204     text/WTFString.cpp
205
206     threads/BinarySemaphore.cpp
207
208     unicode/UTF8.cpp
209 )
210
211 set(WTF_INCLUDE_DIRECTORIES
212     "${WTF_DIR}"
213     "${WTF_DIR}/wtf"
214     "${WTF_DIR}/wtf/dtoa"
215     "${WTF_DIR}/wtf/threads"
216     "${WTF_DIR}/wtf/unicode"
217     "${THIRDPARTY_DIR}"
218     "${CMAKE_BINARY_DIR}"
219 )
220
221 set(WTF_LIBRARIES
222     ${CMAKE_DL_LIBS}
223 )
224
225 if (WTF_USE_ICU_UNICODE)
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 elseif (WTF_USE_WCHAR_UNICODE)
240     list(APPEND WTF_HEADERS
241         unicode/wchar/UnicodeWchar.h
242     )
243     list(APPEND WTF_SOURCES
244         unicode/CollatorDefault.cpp
245         unicode/wchar/UnicodeWchar.cpp
246     )
247 endif ()
248
249 if (WIN32)
250     list(APPEND WTF_SOURCES
251         OSAllocatorWin.cpp
252         ThreadSpecificWin.cpp
253         ThreadingWin.cpp
254
255         win/OwnPtrWin.cpp
256     )
257 else ()
258     list(APPEND WTF_HEADERS
259         ThreadIdentifierDataPthreads.h
260     )
261     list(APPEND WTF_SOURCES
262         OSAllocatorPosix.cpp
263         ThreadIdentifierDataPthreads.cpp
264         ThreadingPthreads.cpp
265     )
266 endif ()
267
268 WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
269
270 WEBKIT_WRAP_SOURCELIST(${WTF_SOURCES})
271 include_directories(${WTF_INCLUDE_DIRECTORIES})
272 add_definitions(-DBUILDING_WTF)
273 add_library(WTF STATIC ${WTF_HEADERS} ${WTF_SOURCES})
274 target_link_libraries(WTF ${WTF_LIBRARIES})
275 set_target_properties(WTF PROPERTIES FOLDER "JavaScriptCore")
276
277 if (WTF_OUTPUT_NAME)
278     set_target_properties(WTF PROPERTIES OUTPUT_NAME ${WTF_OUTPUT_NAME})
279 endif ()