Unreviewed, rolling out r225093.
[WebKit-https.git] / Source / WebCore / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.8.12)
2
3 include(WebKitCommon)
4 include(WebCoreMacros.cmake)
5
6 set_property(DIRECTORY . PROPERTY FOLDER "WebCore")
7
8 add_subdirectory(PAL/pal)
9
10 if (PAL_LIBRARY_TYPE MATCHES STATIC)
11     add_definitions(-DSTATICALLY_LINKED_WITH_PAL=1)
12 endif ()
13
14 list(APPEND WebCore_UNIFIED_SOURCE_LIST_FILES
15     "Sources.txt"
16 )
17
18 set(WebCore_INCLUDE_DIRECTORIES
19     "${CMAKE_BINARY_DIR}"
20     "${WEBCORE_DIR}"
21     "${WEBCORE_DIR}/Modules/airplay"
22     "${WEBCORE_DIR}/Modules/beacon"
23     "${WEBCORE_DIR}/Modules/applepay"
24     "${WEBCORE_DIR}/Modules/applepay/paymentrequest"
25     "${WEBCORE_DIR}/Modules/cache"
26     "${WEBCORE_DIR}/Modules/credentials"
27     "${WEBCORE_DIR}/Modules/encryptedmedia"
28     "${WEBCORE_DIR}/Modules/encryptedmedia/legacy"
29     "${WEBCORE_DIR}/Modules/entriesapi"
30     "${WEBCORE_DIR}/Modules/fetch"
31     "${WEBCORE_DIR}/Modules/geolocation"
32     "${WEBCORE_DIR}/Modules/indexeddb"
33     "${WEBCORE_DIR}/Modules/indexeddb/client"
34     "${WEBCORE_DIR}/Modules/indexeddb/server"
35     "${WEBCORE_DIR}/Modules/indexeddb/shared"
36     "${WEBCORE_DIR}/Modules/mediacontrols/"
37     "${WEBCORE_DIR}/Modules/mediasession"
38     "${WEBCORE_DIR}/Modules/mediasource"
39     "${WEBCORE_DIR}/Modules/mediastream"
40     "${WEBCORE_DIR}/Modules/navigatorcontentutils"
41     "${WEBCORE_DIR}/Modules/notifications"
42     "${WEBCORE_DIR}/Modules/paymentrequest"
43     "${WEBCORE_DIR}/Modules/plugins"
44     "${WEBCORE_DIR}/Modules/quota"
45     "${WEBCORE_DIR}/Modules/speech"
46     "${WEBCORE_DIR}/Modules/streams"
47     "${WEBCORE_DIR}/Modules/webaudio"
48     "${WEBCORE_DIR}/Modules/webdatabase"
49     "${WEBCORE_DIR}/Modules/webdriver"
50     "${WEBCORE_DIR}/Modules/websockets"
51     "${WEBCORE_DIR}/Modules/webvr"
52     "${WEBCORE_DIR}/accessibility"
53     "${WEBCORE_DIR}/animation"
54     "${WEBCORE_DIR}/bindings"
55     "${WEBCORE_DIR}/bindings/js"
56     "${WEBCORE_DIR}/bridge"
57     "${WEBCORE_DIR}/bridge/c"
58     "${WEBCORE_DIR}/bridge/jsc"
59     "${WEBCORE_DIR}/contentextensions"
60     "${WEBCORE_DIR}/crypto"
61     "${WEBCORE_DIR}/crypto/algorithms"
62     "${WEBCORE_DIR}/crypto/keys"
63     "${WEBCORE_DIR}/crypto/parameters"
64     "${WEBCORE_DIR}/css"
65     "${WEBCORE_DIR}/css/parser"
66     "${WEBCORE_DIR}/cssjit"
67     "${WEBCORE_DIR}/dom"
68     "${WEBCORE_DIR}/dom/default"
69     "${WEBCORE_DIR}/domjit"
70     "${WEBCORE_DIR}/editing"
71     "${WEBCORE_DIR}/fileapi"
72     "${WEBCORE_DIR}/history"
73     "${WEBCORE_DIR}/html"
74     "${WEBCORE_DIR}/html/canvas"
75     "${WEBCORE_DIR}/html/forms"
76     "${WEBCORE_DIR}/html/parser"
77     "${WEBCORE_DIR}/html/shadow"
78     "${WEBCORE_DIR}/html/track"
79     "${WEBCORE_DIR}/inspector"
80     "${WEBCORE_DIR}/inspector/agents"
81     "${WEBCORE_DIR}/inspector/agents/page"
82     "${WEBCORE_DIR}/inspector/agents/worker"
83     "${WEBCORE_DIR}/loader"
84     "${WEBCORE_DIR}/loader/appcache"
85     "${WEBCORE_DIR}/loader/archive"
86     "${WEBCORE_DIR}/loader/archive/mhtml"
87     "${WEBCORE_DIR}/loader/cache"
88     "${WEBCORE_DIR}/loader/icon"
89     "${WEBCORE_DIR}/mathml"
90     "${WEBCORE_DIR}/page"
91     "${WEBCORE_DIR}/page/animation"
92     "${WEBCORE_DIR}/page/csp"
93     "${WEBCORE_DIR}/page/scrolling"
94     "${WEBCORE_DIR}/platform"
95     "${WEBCORE_DIR}/platform/animation"
96     "${WEBCORE_DIR}/platform/audio"
97     "${WEBCORE_DIR}/platform/crypto"
98     "${WEBCORE_DIR}/platform/encryptedmedia"
99     "${WEBCORE_DIR}/platform/gamepad"
100     "${WEBCORE_DIR}/platform/graphics"
101     "${WEBCORE_DIR}/platform/graphics/cpu/arm"
102     "${WEBCORE_DIR}/platform/graphics/cpu/arm/filters"
103     "${WEBCORE_DIR}/platform/graphics/displaylists"
104     "${WEBCORE_DIR}/platform/graphics/filters"
105     "${WEBCORE_DIR}/platform/graphics/harfbuzz"
106     "${WEBCORE_DIR}/platform/graphics/harfbuzz/ng"
107     "${WEBCORE_DIR}/platform/graphics/iso"
108     "${WEBCORE_DIR}/platform/graphics/opentype"
109     "${WEBCORE_DIR}/platform/graphics/transforms"
110     "${WEBCORE_DIR}/platform/mediastream"
111     "${WEBCORE_DIR}/platform/mediastream/libwebrtc"
112     "${WEBCORE_DIR}/platform/mock"
113     "${WEBCORE_DIR}/platform/mock/mediasource"
114     "${WEBCORE_DIR}/platform/network"
115     "${WEBCORE_DIR}/platform/sql"
116     "${WEBCORE_DIR}/platform/text"
117     "${WEBCORE_DIR}/platform/text/icu"
118     "${WEBCORE_DIR}/plugins"
119     "${WEBCORE_DIR}/rendering"
120     "${WEBCORE_DIR}/rendering/line"
121     "${WEBCORE_DIR}/rendering/mathml"
122     "${WEBCORE_DIR}/rendering/shapes"
123     "${WEBCORE_DIR}/rendering/style"
124     "${WEBCORE_DIR}/rendering/svg"
125     "${WEBCORE_DIR}/replay"
126     "${WEBCORE_DIR}/storage"
127     "${WEBCORE_DIR}/style"
128     "${WEBCORE_DIR}/svg"
129     "${WEBCORE_DIR}/svg/animation"
130     "${WEBCORE_DIR}/svg/graphics"
131     "${WEBCORE_DIR}/svg/graphics/filters"
132     "${WEBCORE_DIR}/svg/properties"
133     "${WEBCORE_DIR}/websockets"
134     "${WEBCORE_DIR}/workers"
135     "${WEBCORE_DIR}/workers/service"
136     "${WEBCORE_DIR}/workers/service/context"
137     "${WEBCORE_DIR}/workers/service/server"
138     "${WEBCORE_DIR}/xml"
139     "${WEBCORE_DIR}/xml/parser"
140     "${DERIVED_SOURCES_WEBCORE_DIR}"
141     "${PAL_DIR}"
142     "${CMAKE_SOURCE_DIR}/Source"
143 )
144
145 set(WebCore_SYSTEM_INCLUDE_DIRECTORIES
146     ${ICU_INCLUDE_DIRS}
147     ${LIBXML2_INCLUDE_DIR}
148     ${LIBXSLT_INCLUDE_DIR}
149     ${SQLITE_INCLUDE_DIRS}
150     ${ZLIB_INCLUDE_DIRS}
151 )
152
153 set(WebCore_IDL_INCLUDES
154     css
155     dom
156     fileapi
157     html
158     inspector
159     page
160     plugins
161     storage
162     svg
163     workers
164     xml
165
166     Modules/airplay
167     Modules/cache
168     Modules/credentials
169     Modules/encryptedmedia/legacy
170     Modules/entriesapi
171     Modules/fetch
172     Modules/geolocation
173     Modules/indexeddb
174     Modules/mediasession
175     Modules/mediastream
176     Modules/notifications
177     Modules/paymentrequest
178     Modules/quota
179     Modules/speech
180     Modules/streams
181     Modules/webaudio
182     Modules/webdatabase
183     Modules/websockets
184     Modules/webvr
185
186     bindings/js
187
188     html/canvas
189     html/shadow
190     html/track
191
192     loader/appcache
193 )
194
195 set(WebCore_NON_SVG_IDL_FILES
196     Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl
197
198     Modules/beacon/NavigatorBeacon.idl
199
200     Modules/cache/CacheQueryOptions.idl
201     Modules/cache/DOMCache.idl
202     Modules/cache/DOMCacheStorage.idl
203     Modules/cache/DOMWindowCaches.idl
204     Modules/cache/WorkerGlobalScopeCaches.idl
205
206     Modules/credentials/BasicCredential.idl
207     Modules/credentials/CredentialCreationOptions.idl
208     Modules/credentials/CredentialData.idl
209     Modules/credentials/CredentialRequestOptions.idl
210     Modules/credentials/CredentialUserData.idl
211     Modules/credentials/CredentialsContainer.idl
212     Modules/credentials/FederatedCredential.idl
213     Modules/credentials/FederatedCredentialInit.idl
214     Modules/credentials/FederatedCredentialRequestOptions.idl
215     Modules/credentials/NavigatorCredentials.idl
216     Modules/credentials/PasswordCredential.idl
217     Modules/credentials/PasswordCredentialData.idl
218
219     Modules/entriesapi/DOMFileSystem.idl
220     Modules/entriesapi/ErrorCallback.idl
221     Modules/entriesapi/FileCallback.idl
222     Modules/entriesapi/FileSystemDirectoryEntry.idl
223     Modules/entriesapi/FileSystemDirectoryReader.idl
224     Modules/entriesapi/FileSystemEntriesCallback.idl
225     Modules/entriesapi/FileSystemEntry.idl
226     Modules/entriesapi/FileSystemEntryCallback.idl
227     Modules/entriesapi/FileSystemFileEntry.idl
228     Modules/entriesapi/HTMLInputElementEntriesAPI.idl
229
230     Modules/fetch/DOMWindowFetch.idl
231     Modules/fetch/FetchBody.idl
232     Modules/fetch/FetchHeaders.idl
233     Modules/fetch/FetchReferrerPolicy.idl
234     Modules/fetch/FetchRequest.idl
235     Modules/fetch/FetchRequestCache.idl
236     Modules/fetch/FetchRequestCredentials.idl
237     Modules/fetch/FetchRequestInit.idl
238     Modules/fetch/FetchRequestMode.idl
239     Modules/fetch/FetchRequestRedirect.idl
240     Modules/fetch/FetchResponse.idl
241     Modules/fetch/WorkerGlobalScopeFetch.idl
242
243     Modules/geolocation/Coordinates.idl
244     Modules/geolocation/Geolocation.idl
245     Modules/geolocation/Geoposition.idl
246     Modules/geolocation/NavigatorGeolocation.idl
247     Modules/geolocation/PositionCallback.idl
248     Modules/geolocation/PositionError.idl
249     Modules/geolocation/PositionErrorCallback.idl
250     Modules/geolocation/PositionOptions.idl
251
252     Modules/indexeddb/DOMWindowIndexedDatabase.idl
253     Modules/indexeddb/IDBCursor.idl
254     Modules/indexeddb/IDBCursorDirection.idl
255     Modules/indexeddb/IDBCursorWithValue.idl
256     Modules/indexeddb/IDBDatabase.idl
257     Modules/indexeddb/IDBFactory.idl
258     Modules/indexeddb/IDBIndex.idl
259     Modules/indexeddb/IDBKeyRange.idl
260     Modules/indexeddb/IDBObjectStore.idl
261     Modules/indexeddb/IDBOpenDBRequest.idl
262     Modules/indexeddb/IDBRequest.idl
263     Modules/indexeddb/IDBTransaction.idl
264     Modules/indexeddb/IDBTransactionMode.idl
265     Modules/indexeddb/IDBVersionChangeEvent.idl
266     Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl
267
268     Modules/mediacontrols/MediaControlsHost.idl
269
270     Modules/mediasession/HTMLMediaElementMediaSession.idl
271     Modules/mediasession/MediaRemoteControls.idl
272     Modules/mediasession/MediaSession.idl
273
274     Modules/mediasource/DOMURLMediaSource.idl
275     Modules/mediasource/MediaSource.idl
276     Modules/mediasource/SourceBuffer.idl
277     Modules/mediasource/SourceBufferList.idl
278     Modules/mediasource/VideoPlaybackQuality.idl
279
280     Modules/mediastream/CanvasCaptureMediaStreamTrack.idl
281     Modules/mediastream/DoubleRange.idl
282     Modules/mediastream/LongRange.idl
283     Modules/mediastream/MediaDeviceInfo.idl
284     Modules/mediastream/MediaDevices.idl
285     Modules/mediastream/MediaStream.idl
286     Modules/mediastream/MediaStreamEvent.idl
287     Modules/mediastream/MediaStreamTrack.idl
288     Modules/mediastream/MediaStreamTrackEvent.idl
289     Modules/mediastream/MediaTrackConstraints.idl
290     Modules/mediastream/MediaTrackSupportedConstraints.idl
291     Modules/mediastream/NavigatorMediaDevices.idl
292     Modules/mediastream/NavigatorUserMedia.idl
293     Modules/mediastream/OverconstrainedError.idl
294     Modules/mediastream/OverconstrainedErrorEvent.idl
295     Modules/mediastream/RTCAnswerOptions.idl
296     Modules/mediastream/RTCConfiguration.idl
297     Modules/mediastream/RTCDTMFSender.idl
298     Modules/mediastream/RTCDTMFToneChangeEvent.idl
299     Modules/mediastream/RTCDataChannel.idl
300     Modules/mediastream/RTCDataChannelEvent.idl
301     Modules/mediastream/RTCIceCandidate.idl
302     Modules/mediastream/RTCIceConnectionState.idl
303     Modules/mediastream/RTCIceGatheringState.idl
304     Modules/mediastream/RTCIceServer.idl
305     Modules/mediastream/RTCIceTransport.idl
306     Modules/mediastream/RTCIceTransportState.idl
307     Modules/mediastream/RTCOfferAnswerOptions.idl
308     Modules/mediastream/RTCOfferOptions.idl
309     Modules/mediastream/RTCPeerConnection.idl
310     Modules/mediastream/RTCPeerConnectionIceEvent.idl
311     Modules/mediastream/RTCPeerConnectionState.idl
312     Modules/mediastream/RTCRtpParameters.idl
313     Modules/mediastream/RTCRtpReceiver.idl
314     Modules/mediastream/RTCRtpSender.idl
315     Modules/mediastream/RTCRtpTransceiver.idl
316     Modules/mediastream/RTCRtpTransceiverDirection.idl
317     Modules/mediastream/RTCSessionDescription.idl
318     Modules/mediastream/RTCSignalingState.idl
319     Modules/mediastream/RTCStatsReport.idl
320     Modules/mediastream/RTCTrackEvent.idl
321
322     Modules/navigatorcontentutils/NavigatorContentUtils.idl
323
324     Modules/notifications/Notification.idl
325     Modules/notifications/NotificationPermission.idl
326     Modules/notifications/NotificationPermissionCallback.idl
327
328     Modules/paymentrequest/PaymentAddress.idl
329     Modules/paymentrequest/PaymentComplete.idl
330     Modules/paymentrequest/PaymentCurrencyAmount.idl
331     Modules/paymentrequest/PaymentDetailsBase.idl
332     Modules/paymentrequest/PaymentDetailsInit.idl
333     Modules/paymentrequest/PaymentDetailsModifier.idl
334     Modules/paymentrequest/PaymentDetailsUpdate.idl
335     Modules/paymentrequest/PaymentItem.idl
336     Modules/paymentrequest/PaymentMethodData.idl
337     Modules/paymentrequest/PaymentOptions.idl
338     Modules/paymentrequest/PaymentRequest.idl
339     Modules/paymentrequest/PaymentRequestUpdateEvent.idl
340     Modules/paymentrequest/PaymentRequestUpdateEventInit.idl
341     Modules/paymentrequest/PaymentResponse.idl
342     Modules/paymentrequest/PaymentShippingOption.idl
343     Modules/paymentrequest/PaymentShippingType.idl
344
345     Modules/speech/DOMWindowSpeechSynthesis.idl
346     Modules/speech/SpeechSynthesis.idl
347     Modules/speech/SpeechSynthesisEvent.idl
348     Modules/speech/SpeechSynthesisUtterance.idl
349     Modules/speech/SpeechSynthesisVoice.idl
350
351     Modules/streams/ByteLengthQueuingStrategy.idl
352     Modules/streams/CountQueuingStrategy.idl
353     Modules/streams/ReadableByteStreamController.idl
354     Modules/streams/ReadableStream.idl
355     Modules/streams/ReadableStreamBYOBReader.idl
356     Modules/streams/ReadableStreamBYOBRequest.idl
357     Modules/streams/ReadableStreamDefaultController.idl
358     Modules/streams/ReadableStreamDefaultReader.idl
359     Modules/streams/ReadableStreamSink.idl
360     Modules/streams/ReadableStreamSource.idl
361     Modules/streams/WritableStream.idl
362
363     Modules/webaudio/AnalyserNode.idl
364     Modules/webaudio/AudioBuffer.idl
365     Modules/webaudio/AudioBufferCallback.idl
366     Modules/webaudio/AudioBufferSourceNode.idl
367     Modules/webaudio/AudioContext.idl
368     Modules/webaudio/AudioDestinationNode.idl
369     Modules/webaudio/AudioListener.idl
370     Modules/webaudio/AudioNode.idl
371     Modules/webaudio/AudioParam.idl
372     Modules/webaudio/AudioProcessingEvent.idl
373     Modules/webaudio/BiquadFilterNode.idl
374     Modules/webaudio/ChannelMergerNode.idl
375     Modules/webaudio/ChannelSplitterNode.idl
376     Modules/webaudio/ConvolverNode.idl
377     Modules/webaudio/DelayNode.idl
378     Modules/webaudio/DynamicsCompressorNode.idl
379     Modules/webaudio/GainNode.idl
380     Modules/webaudio/MediaElementAudioSourceNode.idl
381     Modules/webaudio/MediaStreamAudioDestinationNode.idl
382     Modules/webaudio/MediaStreamAudioSourceNode.idl
383     Modules/webaudio/OfflineAudioCompletionEvent.idl
384     Modules/webaudio/OfflineAudioContext.idl
385     Modules/webaudio/OscillatorNode.idl
386     Modules/webaudio/PannerNode.idl
387     Modules/webaudio/PeriodicWave.idl
388     Modules/webaudio/ScriptProcessorNode.idl
389     Modules/webaudio/WaveShaperNode.idl
390
391     Modules/webdatabase/DOMWindowWebDatabase.idl
392     Modules/webdatabase/Database.idl
393     Modules/webdatabase/DatabaseCallback.idl
394     Modules/webdatabase/SQLError.idl
395     Modules/webdatabase/SQLResultSet.idl
396     Modules/webdatabase/SQLResultSetRowList.idl
397     Modules/webdatabase/SQLStatementCallback.idl
398     Modules/webdatabase/SQLStatementErrorCallback.idl
399     Modules/webdatabase/SQLTransaction.idl
400     Modules/webdatabase/SQLTransactionCallback.idl
401     Modules/webdatabase/SQLTransactionErrorCallback.idl
402
403     Modules/webdriver/NavigatorWebDriver.idl
404
405     Modules/websockets/CloseEvent.idl
406     Modules/websockets/WebSocket.idl
407
408     Modules/webvr/DOMWindowWebVR.idl
409     Modules/webvr/NavigatorWebVR.idl
410     Modules/webvr/VRDisplay.idl
411     Modules/webvr/VRDisplayCapabilities.idl
412     Modules/webvr/VRDisplayEvent.idl
413     Modules/webvr/VRDisplayEventReason.idl
414     Modules/webvr/VREye.idl
415     Modules/webvr/VREyeParameters.idl
416     Modules/webvr/VRFieldOfView.idl
417     Modules/webvr/VRFrameData.idl
418     Modules/webvr/VRLayerInit.idl
419     Modules/webvr/VRPose.idl
420     Modules/webvr/VRStageParameters.idl
421
422     accessibility/AccessibleNode.idl
423
424     animation/Animatable.idl
425     animation/AnimationEffect.idl
426     animation/AnimationEffectTiming.idl
427     animation/AnimationTimeline.idl
428     animation/DocumentTimeline.idl
429     animation/KeyframeEffect.idl
430     animation/WebAnimation.idl
431
432     crypto/CryptoAlgorithmParameters.idl
433     crypto/CryptoKey.idl
434     crypto/CryptoKeyPair.idl
435     crypto/CryptoKeyUsage.idl
436     crypto/JsonWebKey.idl
437     crypto/RsaOtherPrimesInfo.idl
438     crypto/SubtleCrypto.idl
439
440     crypto/keys/CryptoAesKeyAlgorithm.idl
441     crypto/keys/CryptoEcKeyAlgorithm.idl
442     crypto/keys/CryptoHmacKeyAlgorithm.idl
443     crypto/keys/CryptoKeyAlgorithm.idl
444     crypto/keys/CryptoRsaHashedKeyAlgorithm.idl
445     crypto/keys/CryptoRsaKeyAlgorithm.idl
446
447     crypto/parameters/AesCbcCfbParams.idl
448     crypto/parameters/AesCtrParams.idl
449     crypto/parameters/AesGcmParams.idl
450     crypto/parameters/AesKeyParams.idl
451     crypto/parameters/EcKeyParams.idl
452     crypto/parameters/EcdhKeyDeriveParams.idl
453     crypto/parameters/EcdsaParams.idl
454     crypto/parameters/HkdfParams.idl
455     crypto/parameters/HmacKeyParams.idl
456     crypto/parameters/Pbkdf2Params.idl
457     crypto/parameters/RsaHashedImportParams.idl
458     crypto/parameters/RsaHashedKeyGenParams.idl
459     crypto/parameters/RsaKeyGenParams.idl
460     crypto/parameters/RsaOaepParams.idl
461     crypto/parameters/RsaPssParams.idl
462
463     css/CSSFontFaceRule.idl
464     css/CSSImportRule.idl
465     css/CSSKeyframeRule.idl
466     css/CSSKeyframesRule.idl
467     css/CSSMediaRule.idl
468     css/CSSNamespaceRule.idl
469     css/CSSPageRule.idl
470     css/CSSRule.idl
471     css/CSSRuleList.idl
472     css/CSSStyleDeclaration.idl
473     css/CSSStyleRule.idl
474     css/CSSStyleSheet.idl
475     css/CSSSupportsRule.idl
476     css/CSSUnknownRule.idl
477     css/DOMMatrix.idl
478     css/DOMMatrix2DInit.idl
479     css/DOMMatrixInit.idl
480     css/DOMMatrixReadOnly.idl
481     css/DeprecatedCSSOMCounter.idl
482     css/DeprecatedCSSOMPrimitiveValue.idl
483     css/DeprecatedCSSOMRGBColor.idl
484     css/DeprecatedCSSOMRect.idl
485     css/DeprecatedCSSOMValue.idl
486     css/DeprecatedCSSOMValueList.idl
487     css/DOMCSSNamespace.idl
488     css/ElementCSSInlineStyle.idl
489     css/FontFace.idl
490     css/FontFaceSet.idl
491     css/MediaList.idl
492     css/MediaQueryList.idl
493     css/MediaQueryListListener.idl
494     css/StyleMedia.idl
495     css/StyleSheet.idl
496     css/StyleSheetList.idl
497     css/WebKitCSSMatrix.idl
498     css/WebKitCSSViewportRule.idl
499
500     dom/AbortController.idl
501     dom/AbortSignal.idl
502     dom/AnimationEvent.idl
503     dom/Attr.idl
504     dom/BeforeLoadEvent.idl
505     dom/BeforeUnloadEvent.idl
506     dom/CDATASection.idl
507     dom/CharacterData.idl
508     dom/ChildNode.idl
509     dom/ClipboardEvent.idl
510     dom/Comment.idl
511     dom/CompositionEvent.idl
512     dom/CustomElementRegistry.idl
513     dom/CustomEvent.idl
514     dom/DOMException.idl
515     dom/DOMImplementation.idl
516     dom/DOMPoint.idl
517     dom/DOMPointInit.idl
518     dom/DOMPointReadOnly.idl
519     dom/DOMQuad.idl
520     dom/DOMQuadInit.idl
521     dom/DOMRect.idl
522     dom/DOMRectInit.idl
523     dom/DOMRectList.idl
524     dom/DOMRectReadOnly.idl
525     dom/DOMStringList.idl
526     dom/DOMStringMap.idl
527     dom/DataTransfer.idl
528     dom/DataTransferItem.idl
529     dom/DataTransferItemList.idl
530     dom/DeviceMotionEvent.idl
531     dom/DeviceOrientationEvent.idl
532     dom/Document.idl
533     dom/DocumentAndElementEventHandlers.idl
534     dom/DocumentFragment.idl
535     dom/DocumentOrShadowRoot.idl
536     dom/DocumentTouch.idl
537     dom/DocumentType.idl
538     dom/Element.idl
539     dom/ErrorEvent.idl
540     dom/Event.idl
541     dom/EventInit.idl
542     dom/EventModifierInit.idl
543     dom/EventTarget.idl
544     dom/FocusEvent.idl
545     dom/GlobalEventHandlers.idl
546     dom/HashChangeEvent.idl
547     dom/InputEvent.idl
548     dom/KeyboardEvent.idl
549     dom/MessageChannel.idl
550     dom/MessageEvent.idl
551     dom/MessagePort.idl
552     dom/MouseEvent.idl
553     dom/MouseEventInit.idl
554     dom/MutationCallback.idl
555     dom/MutationEvent.idl
556     dom/MutationObserver.idl
557     dom/MutationRecord.idl
558     dom/NamedNodeMap.idl
559     dom/Node.idl
560     dom/NodeFilter.idl
561     dom/NodeIterator.idl
562     dom/NodeList.idl
563     dom/NonDocumentTypeChildNode.idl
564     dom/NonElementParentNode.idl
565     dom/OverflowEvent.idl
566     dom/PageTransitionEvent.idl
567     dom/ParentNode.idl
568     dom/PopStateEvent.idl
569     dom/ProcessingInstruction.idl
570     dom/ProgressEvent.idl
571     dom/PromiseRejectionEvent.idl
572     dom/Range.idl
573     dom/RequestAnimationFrameCallback.idl
574     dom/SecurityPolicyViolationEvent.idl
575     dom/ShadowRoot.idl
576     dom/ShadowRootMode.idl
577     dom/Slotable.idl
578     dom/StaticRange.idl
579     dom/StringCallback.idl
580     dom/Text.idl
581     dom/TextDecoder.idl
582     dom/TextEncoder.idl
583     dom/TextEvent.idl
584     dom/Touch.idl
585     dom/TouchEvent.idl
586     dom/TouchList.idl
587     dom/TransitionEvent.idl
588     dom/TreeWalker.idl
589     dom/UIEvent.idl
590     dom/UIEventInit.idl
591     dom/VisibilityState.idl
592     dom/WebKitAnimationEvent.idl
593     dom/WebKitTransitionEvent.idl
594     dom/WheelEvent.idl
595     dom/XMLDocument.idl
596
597     fileapi/Blob.idl
598     fileapi/BlobCallback.idl
599     fileapi/BlobLineEndings.idl
600     fileapi/BlobPropertyBag.idl
601     fileapi/File.idl
602     fileapi/FileError.idl
603     fileapi/FileList.idl
604     fileapi/FileReader.idl
605     fileapi/FileReaderSync.idl
606
607     html/DOMFormData.idl
608     html/DOMTokenList.idl
609     html/DOMURL.idl
610     html/HTMLAllCollection.idl
611     html/HTMLAnchorElement.idl
612     html/HTMLAppletElement.idl
613     html/HTMLAreaElement.idl
614     html/HTMLAttachmentElement.idl
615     html/HTMLAudioElement.idl
616     html/HTMLBRElement.idl
617     html/HTMLBaseElement.idl
618     html/HTMLBodyElement.idl
619     html/HTMLButtonElement.idl
620     html/HTMLCanvasElement.idl
621     html/HTMLCollection.idl
622     html/HTMLDListElement.idl
623     html/HTMLDataElement.idl
624     html/HTMLDataListElement.idl
625     html/HTMLDetailsElement.idl
626     html/HTMLDirectoryElement.idl
627     html/HTMLDivElement.idl
628     html/HTMLDocument.idl
629     html/HTMLElement.idl
630     html/HTMLEmbedElement.idl
631     html/HTMLFieldSetElement.idl
632     html/HTMLFontElement.idl
633     html/HTMLFormControlsCollection.idl
634     html/HTMLFormElement.idl
635     html/HTMLFrameElement.idl
636     html/HTMLFrameSetElement.idl
637     html/HTMLHRElement.idl
638     html/HTMLHeadElement.idl
639     html/HTMLHeadingElement.idl
640     html/HTMLHtmlElement.idl
641     html/HTMLHyperlinkElementUtils.idl
642     html/HTMLIFrameElement.idl
643     html/HTMLImageElement.idl
644     html/HTMLInputElement.idl
645     html/HTMLKeygenElement.idl
646     html/HTMLLIElement.idl
647     html/HTMLLabelElement.idl
648     html/HTMLLegendElement.idl
649     html/HTMLLinkElement.idl
650     html/HTMLMapElement.idl
651     html/HTMLMarqueeElement.idl
652     html/HTMLMediaElement.idl
653     html/HTMLMenuElement.idl
654     html/HTMLMenuItemElement.idl
655     html/HTMLMetaElement.idl
656     html/HTMLMeterElement.idl
657     html/HTMLModElement.idl
658     html/HTMLOListElement.idl
659     html/HTMLObjectElement.idl
660     html/HTMLOptGroupElement.idl
661     html/HTMLOptionElement.idl
662     html/HTMLOptionsCollection.idl
663     html/HTMLOutputElement.idl
664     html/HTMLParagraphElement.idl
665     html/HTMLParamElement.idl
666     html/HTMLPictureElement.idl
667     html/HTMLPreElement.idl
668     html/HTMLProgressElement.idl
669     html/HTMLQuoteElement.idl
670     html/HTMLScriptElement.idl
671     html/HTMLSelectElement.idl
672     html/HTMLSlotElement.idl
673     html/HTMLSourceElement.idl
674     html/HTMLSpanElement.idl
675     html/HTMLStyleElement.idl
676     html/HTMLTableCaptionElement.idl
677     html/HTMLTableCellElement.idl
678     html/HTMLTableColElement.idl
679     html/HTMLTableElement.idl
680     html/HTMLTableRowElement.idl
681     html/HTMLTableSectionElement.idl
682     html/HTMLTemplateElement.idl
683     html/HTMLTextAreaElement.idl
684     html/HTMLTimeElement.idl
685     html/HTMLTitleElement.idl
686     html/HTMLTrackElement.idl
687     html/HTMLUListElement.idl
688     html/HTMLUnknownElement.idl
689     html/HTMLVideoElement.idl
690     html/ImageBitmap.idl
691     html/ImageBitmapOptions.idl
692     html/ImageData.idl
693     html/MediaController.idl
694     html/MediaError.idl
695     html/OffscreenCanvas.idl
696     html/RadioNodeList.idl
697     html/TextMetrics.idl
698     html/TimeRanges.idl
699     html/URLSearchParams.idl
700     html/ValidityState.idl
701     html/VoidCallback.idl
702
703     html/canvas/CanvasCompositing.idl
704     html/canvas/CanvasDirection.idl
705     html/canvas/CanvasDrawImage.idl
706     html/canvas/CanvasDrawPath.idl
707     html/canvas/CanvasFillRule.idl
708     html/canvas/CanvasFillStrokeStyles.idl
709     html/canvas/CanvasFilters.idl
710     html/canvas/CanvasGradient.idl
711     html/canvas/CanvasImageData.idl
712     html/canvas/CanvasImageSmoothing.idl
713     html/canvas/CanvasLineCap.idl
714     html/canvas/CanvasLineJoin.idl
715     html/canvas/CanvasPath.idl
716     html/canvas/CanvasPathDrawingStyles.idl
717     html/canvas/CanvasPattern.idl
718     html/canvas/CanvasRect.idl
719     html/canvas/CanvasRenderingContext2D.idl
720     html/canvas/CanvasShadowStyles.idl
721     html/canvas/CanvasState.idl
722     html/canvas/CanvasText.idl
723     html/canvas/CanvasTextAlign.idl
724     html/canvas/CanvasTextBaseline.idl
725     html/canvas/CanvasTextDrawingStyles.idl
726     html/canvas/CanvasTransform.idl
727     html/canvas/CanvasUserInterface.idl
728     html/canvas/ImageBitmapRenderingContext.idl
729     html/canvas/ImageSmoothingQuality.idl
730     html/canvas/Path2D.idl
731     html/canvas/WebGPUBuffer.idl
732     html/canvas/WebGPUCommandBuffer.idl
733     html/canvas/WebGPUCommandQueue.idl
734     html/canvas/WebGPUComputeCommandEncoder.idl
735     html/canvas/WebGPUComputePipelineState.idl
736     html/canvas/WebGPUDepthStencilDescriptor.idl
737     html/canvas/WebGPUDepthStencilState.idl
738     html/canvas/WebGPUDrawable.idl
739     html/canvas/WebGPUFunction.idl
740     html/canvas/WebGPULibrary.idl
741     html/canvas/WebGPURenderCommandEncoder.idl
742     html/canvas/WebGPURenderPassAttachmentDescriptor.idl
743     html/canvas/WebGPURenderPassColorAttachmentDescriptor.idl
744     html/canvas/WebGPURenderPassDepthAttachmentDescriptor.idl
745     html/canvas/WebGPURenderPassDescriptor.idl
746     html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.idl
747     html/canvas/WebGPURenderPipelineDescriptor.idl
748     html/canvas/WebGPURenderPipelineState.idl
749     html/canvas/WebGPURenderingContext.idl
750     html/canvas/WebGPUSize.idl
751     html/canvas/WebGPUTexture.idl
752     html/canvas/WebGPUTextureDescriptor.idl
753
754     inspector/CommandLineAPIHost.idl
755     inspector/InspectorFrontendHost.idl
756
757     loader/appcache/DOMApplicationCache.idl
758
759     page/BarProp.idl
760     page/Crypto.idl
761     page/DOMSelection.idl
762     page/DOMWindow.idl
763     page/EventSource.idl
764     page/GlobalCrypto.idl
765     page/GlobalPerformance.idl
766     page/History.idl
767     page/IntersectionObserver.idl
768     page/IntersectionObserverCallback.idl
769     page/IntersectionObserverEntry.idl
770     page/Location.idl
771     page/Navigator.idl
772     page/NavigatorID.idl
773     page/NavigatorLanguage.idl
774     page/NavigatorOnLine.idl
775     page/NavigatorServiceWorker.idl
776     page/Performance.idl
777     page/PerformanceEntry.idl
778     page/PerformanceMark.idl
779     page/PerformanceMeasure.idl
780     page/PerformanceObserver.idl
781     page/PerformanceObserverCallback.idl
782     page/PerformanceObserverEntryList.idl
783     page/PerformanceNavigation.idl
784     page/PerformanceResourceTiming.idl
785     page/PerformanceTiming.idl
786     page/Screen.idl
787     page/ScrollToOptions.idl
788     page/WebKitPoint.idl
789     page/WindowEventHandlers.idl
790     page/WindowOrWorkerGlobalScope.idl
791     page/WorkerNavigator.idl
792
793     plugins/DOMMimeType.idl
794     plugins/DOMMimeTypeArray.idl
795     plugins/DOMPlugin.idl
796     plugins/DOMPluginArray.idl
797
798     storage/Storage.idl
799     storage/StorageEvent.idl
800
801     workers/AbstractWorker.idl
802     workers/DedicatedWorkerGlobalScope.idl
803     workers/Worker.idl
804     workers/WorkerGlobalScope.idl
805     workers/WorkerLocation.idl
806     workers/WorkerType.idl
807
808     workers/service/ExtendableEvent.idl
809     workers/service/ExtendableEventInit.idl
810     workers/service/ExtendableMessageEvent.idl
811     workers/service/FetchEvent.idl
812     workers/service/ServiceWorker.idl
813     workers/service/ServiceWorkerClient.idl
814     workers/service/ServiceWorkerClientType.idl
815     workers/service/ServiceWorkerClients.idl
816     workers/service/ServiceWorkerContainer.idl
817     workers/service/ServiceWorkerGlobalScope.idl
818     workers/service/ServiceWorkerRegistration.idl
819     workers/service/ServiceWorkerUpdateViaCache.idl
820     workers/service/ServiceWorkerWindowClient.idl
821
822     xml/DOMParser.idl
823     xml/XMLHttpRequest.idl
824     xml/XMLHttpRequestEventTarget.idl
825     xml/XMLHttpRequestProgressEvent.idl
826     xml/XMLHttpRequestUpload.idl
827     xml/XMLSerializer.idl
828     xml/XPathEvaluator.idl
829     xml/XPathExpression.idl
830     xml/XPathNSResolver.idl
831     xml/XPathResult.idl
832     xml/XSLTProcessor.idl
833 )
834
835 set(WebCore_SVG_IDL_FILES
836     svg/SVGAElement.idl
837     svg/SVGAltGlyphDefElement.idl
838     svg/SVGAltGlyphElement.idl
839     svg/SVGAltGlyphItemElement.idl
840     svg/SVGAngle.idl
841     svg/SVGAnimateColorElement.idl
842     svg/SVGAnimateElement.idl
843     svg/SVGAnimateMotionElement.idl
844     svg/SVGAnimateTransformElement.idl
845     svg/SVGAnimatedAngle.idl
846     svg/SVGAnimatedBoolean.idl
847     svg/SVGAnimatedEnumeration.idl
848     svg/SVGAnimatedInteger.idl
849     svg/SVGAnimatedLength.idl
850     svg/SVGAnimatedLengthList.idl
851     svg/SVGAnimatedNumber.idl
852     svg/SVGAnimatedNumberList.idl
853     svg/SVGAnimatedPreserveAspectRatio.idl
854     svg/SVGAnimatedRect.idl
855     svg/SVGAnimatedString.idl
856     svg/SVGAnimatedTransformList.idl
857     svg/SVGAnimationElement.idl
858     svg/SVGCircleElement.idl
859     svg/SVGClipPathElement.idl
860     svg/SVGComponentTransferFunctionElement.idl
861     svg/SVGCursorElement.idl
862     svg/SVGDefsElement.idl
863     svg/SVGDescElement.idl
864     svg/SVGDocument.idl
865     svg/SVGElement.idl
866     svg/SVGEllipseElement.idl
867     svg/SVGExternalResourcesRequired.idl
868     svg/SVGFEBlendElement.idl
869     svg/SVGFEColorMatrixElement.idl
870     svg/SVGFEComponentTransferElement.idl
871     svg/SVGFECompositeElement.idl
872     svg/SVGFEConvolveMatrixElement.idl
873     svg/SVGFEDiffuseLightingElement.idl
874     svg/SVGFEDisplacementMapElement.idl
875     svg/SVGFEDistantLightElement.idl
876     svg/SVGFEDropShadowElement.idl
877     svg/SVGFEFloodElement.idl
878     svg/SVGFEFuncAElement.idl
879     svg/SVGFEFuncBElement.idl
880     svg/SVGFEFuncGElement.idl
881     svg/SVGFEFuncRElement.idl
882     svg/SVGFEGaussianBlurElement.idl
883     svg/SVGFEImageElement.idl
884     svg/SVGFEMergeElement.idl
885     svg/SVGFEMergeNodeElement.idl
886     svg/SVGFEMorphologyElement.idl
887     svg/SVGFEOffsetElement.idl
888     svg/SVGFEPointLightElement.idl
889     svg/SVGFESpecularLightingElement.idl
890     svg/SVGFESpotLightElement.idl
891     svg/SVGFETileElement.idl
892     svg/SVGFETurbulenceElement.idl
893     svg/SVGFilterElement.idl
894     svg/SVGFilterPrimitiveStandardAttributes.idl
895     svg/SVGFitToViewBox.idl
896     svg/SVGFontElement.idl
897     svg/SVGFontFaceElement.idl
898     svg/SVGFontFaceFormatElement.idl
899     svg/SVGFontFaceNameElement.idl
900     svg/SVGFontFaceSrcElement.idl
901     svg/SVGFontFaceUriElement.idl
902     svg/SVGForeignObjectElement.idl
903     svg/SVGGElement.idl
904     svg/SVGGlyphElement.idl
905     svg/SVGGlyphRefElement.idl
906     svg/SVGGradientElement.idl
907     svg/SVGGraphicsElement.idl
908     svg/SVGHKernElement.idl
909     svg/SVGImageElement.idl
910     svg/SVGLength.idl
911     svg/SVGLengthList.idl
912     svg/SVGLineElement.idl
913     svg/SVGLinearGradientElement.idl
914     svg/SVGMPathElement.idl
915     svg/SVGMarkerElement.idl
916     svg/SVGMaskElement.idl
917     svg/SVGMatrix.idl
918     svg/SVGMetadataElement.idl
919     svg/SVGMissingGlyphElement.idl
920     svg/SVGNumber.idl
921     svg/SVGNumberList.idl
922     svg/SVGPathElement.idl
923     svg/SVGPathSeg.idl
924     svg/SVGPathSegArcAbs.idl
925     svg/SVGPathSegArcRel.idl
926     svg/SVGPathSegClosePath.idl
927     svg/SVGPathSegCurvetoCubicAbs.idl
928     svg/SVGPathSegCurvetoCubicRel.idl
929     svg/SVGPathSegCurvetoCubicSmoothAbs.idl
930     svg/SVGPathSegCurvetoCubicSmoothRel.idl
931     svg/SVGPathSegCurvetoQuadraticAbs.idl
932     svg/SVGPathSegCurvetoQuadraticRel.idl
933     svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl
934     svg/SVGPathSegCurvetoQuadraticSmoothRel.idl
935     svg/SVGPathSegLinetoAbs.idl
936     svg/SVGPathSegLinetoHorizontalAbs.idl
937     svg/SVGPathSegLinetoHorizontalRel.idl
938     svg/SVGPathSegLinetoRel.idl
939     svg/SVGPathSegLinetoVerticalAbs.idl
940     svg/SVGPathSegLinetoVerticalRel.idl
941     svg/SVGPathSegList.idl
942     svg/SVGPathSegMovetoAbs.idl
943     svg/SVGPathSegMovetoRel.idl
944     svg/SVGPatternElement.idl
945     svg/SVGPoint.idl
946     svg/SVGPointList.idl
947     svg/SVGPolygonElement.idl
948     svg/SVGPolylineElement.idl
949     svg/SVGPreserveAspectRatio.idl
950     svg/SVGRadialGradientElement.idl
951     svg/SVGRect.idl
952     svg/SVGRectElement.idl
953     svg/SVGRenderingIntent.idl
954     svg/SVGSVGElement.idl
955     svg/SVGScriptElement.idl
956     svg/SVGSetElement.idl
957     svg/SVGStopElement.idl
958     svg/SVGStringList.idl
959     svg/SVGStyleElement.idl
960     svg/SVGSwitchElement.idl
961     svg/SVGSymbolElement.idl
962     svg/SVGTRefElement.idl
963     svg/SVGTSpanElement.idl
964     svg/SVGTests.idl
965     svg/SVGTextContentElement.idl
966     svg/SVGTextElement.idl
967     svg/SVGTextPathElement.idl
968     svg/SVGTextPositioningElement.idl
969     svg/SVGTitleElement.idl
970     svg/SVGTransform.idl
971     svg/SVGTransformList.idl
972     svg/SVGURIReference.idl
973     svg/SVGUnitTypes.idl
974     svg/SVGUseElement.idl
975     svg/SVGVKernElement.idl
976     svg/SVGViewElement.idl
977     svg/SVGViewSpec.idl
978     svg/SVGZoomAndPan.idl
979     svg/SVGZoomEvent.idl
980 )
981
982 if (WIN32 AND INTERNAL_BUILD)
983     set(JavaScriptCore_SCRIPTS_DIR "${CMAKE_BINARY_DIR}/../include/private/JavaScriptCore/Scripts")
984     set(ANGLE_FORWARDING_HEADERS_DIR "${CMAKE_BINARY_DIR}/../include/private/ANGLE")
985 else ()
986     set(JavaScriptCore_SCRIPTS_DIR "${FORWARDING_HEADERS_DIR}/JavaScriptCore/Scripts")
987     set(ANGLE_FORWARDING_HEADERS_DIR "${FORWARDING_HEADERS_DIR}/ANGLE")
988 endif ()
989
990 if (ENABLE_GAMEPAD)
991     list(APPEND WebCore_INCLUDE_DIRECTORIES
992         "${WEBCORE_DIR}/Modules/gamepad"
993     )
994
995     list(APPEND WebCore_IDL_INCLUDES
996         Modules/gamepad
997     )
998
999     list(APPEND WebCore_NON_SVG_IDL_FILES
1000         Modules/gamepad/Gamepad.idl
1001         Modules/gamepad/GamepadButton.idl
1002         Modules/gamepad/GamepadEvent.idl
1003         Modules/gamepad/NavigatorGamepad.idl
1004
1005         Modules/webvr/GamepadWebVR.idl
1006     )
1007
1008     list(APPEND WebCore_SOURCES
1009         Modules/gamepad/Gamepad.cpp
1010         Modules/gamepad/GamepadButton.cpp
1011         Modules/gamepad/GamepadEvent.cpp
1012         Modules/gamepad/GamepadManager.cpp
1013         Modules/gamepad/NavigatorGamepad.cpp
1014
1015         platform/gamepad/EmptyGamepadProvider.cpp
1016         platform/gamepad/GamepadProvider.cpp
1017     )
1018 endif ()
1019
1020 set(WebCore_IDL_FILES
1021     ${WebCore_NON_SVG_IDL_FILES}
1022     ${WebCore_SVG_IDL_FILES}
1023 )
1024
1025 set(WebCore_CSS_PROPERTY_NAMES
1026     ${WEBCORE_DIR}/css/CSSProperties.json
1027 )
1028
1029 set(WebCore_CSS_VALUE_KEYWORDS
1030     ${WEBCORE_DIR}/css/CSSValueKeywords.in
1031 )
1032
1033 set(WebCore_USER_AGENT_STYLE_SHEETS
1034     ${WEBCORE_DIR}/css/fullscreen.css
1035     ${WEBCORE_DIR}/css/html.css
1036     ${WEBCORE_DIR}/css/mathml.css
1037     ${WEBCORE_DIR}/css/mediaControls.css
1038     ${WEBCORE_DIR}/css/plugIns.css
1039     ${WEBCORE_DIR}/css/quirks.css
1040     ${WEBCORE_DIR}/css/svg.css
1041     ${WEBCORE_DIR}/html/shadow/meterElementShadow.css
1042 )
1043
1044 set(WebCore_PLUG_INS_RESOURCES
1045     ${WEBCORE_DIR}/Resources/plugIns.js
1046 )
1047
1048 set(WebCore_LIBRARIES
1049     ${ICU_LIBRARIES}
1050     ${LIBXML2_LIBRARIES}
1051     ${LIBXSLT_LIBRARIES}
1052     ${SQLITE_LIBRARIES}
1053     ${ZLIB_LIBRARIES}
1054     JavaScriptCore${DEBUG_SUFFIX}
1055     PAL${DEBUG_SUFFIX}
1056 )
1057
1058 if (ENABLE_LEGACY_ENCRYPTED_MEDIA)
1059     list(APPEND WebCore_SOURCES
1060         Modules/encryptedmedia/legacy/LegacyCDM.cpp
1061         Modules/encryptedmedia/legacy/LegacyCDMPrivateClearKey.cpp
1062         Modules/encryptedmedia/legacy/LegacyCDMPrivateMediaPlayer.cpp
1063         Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp
1064
1065         Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.cpp
1066         Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.cpp
1067         Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp
1068         Modules/encryptedmedia/legacy/WebKitMediaKeys.cpp
1069     )
1070     list(APPEND WebCoreTestSupport_SOURCES
1071         testing/LegacyMockCDM.cpp
1072     )
1073     list(APPEND WebCore_IDL_FILES
1074         Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.idl
1075         Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.idl
1076         Modules/encryptedmedia/legacy/WebKitMediaKeySession.idl
1077         Modules/encryptedmedia/legacy/WebKitMediaKeys.idl
1078
1079         html/WebKitMediaKeyError.idl
1080     )
1081 endif ()
1082
1083 if (ENABLE_ENCRYPTED_MEDIA)
1084     list(APPEND WebCore_SOURCES
1085         Modules/encryptedmedia/CDM.cpp
1086         Modules/encryptedmedia/InitDataRegistry.cpp
1087         Modules/encryptedmedia/MediaKeyMessageEvent.cpp
1088         Modules/encryptedmedia/MediaKeySession.cpp
1089         Modules/encryptedmedia/MediaKeyStatusMap.cpp
1090         Modules/encryptedmedia/MediaKeySystemAccess.cpp
1091         Modules/encryptedmedia/MediaKeys.cpp
1092         Modules/encryptedmedia/NavigatorEME.cpp
1093
1094         html/MediaEncryptedEvent.cpp
1095     )
1096     list(APPEND WebCore_IDL_FILES
1097     )
1098     list(APPEND WebCore_IDL_FILES
1099         Modules/encryptedmedia/MediaKeyMessageEvent.idl
1100         Modules/encryptedmedia/MediaKeySession.idl
1101         Modules/encryptedmedia/MediaKeySessionType.idl
1102         Modules/encryptedmedia/MediaKeyStatusMap.idl
1103         Modules/encryptedmedia/MediaKeySystemAccess.idl
1104         Modules/encryptedmedia/MediaKeySystemConfiguration.idl
1105         Modules/encryptedmedia/MediaKeySystemMediaCapability.idl
1106         Modules/encryptedmedia/MediaKeys.idl
1107         Modules/encryptedmedia/MediaKeysRequirement.idl
1108         Modules/encryptedmedia/NavigatorEME.idl
1109
1110         html/MediaEncryptedEvent.idl
1111     )
1112 endif ()
1113
1114 list(APPEND WebCore_CSS_VALUE_KEYWORDS
1115     ${WEBCORE_DIR}/css/SVGCSSValueKeywords.in
1116 )
1117
1118 if (ENABLE_WEBGL)
1119     list(APPEND WebCore_SOURCES
1120         html/canvas/ANGLEInstancedArrays.cpp
1121         html/canvas/EXTBlendMinMax.cpp
1122         html/canvas/EXTFragDepth.cpp
1123         html/canvas/EXTShaderTextureLOD.cpp
1124         html/canvas/EXTTextureFilterAnisotropic.cpp
1125         html/canvas/EXTsRGB.cpp
1126         html/canvas/OESElementIndexUint.cpp
1127         html/canvas/OESStandardDerivatives.cpp
1128         html/canvas/OESTextureFloat.cpp
1129         html/canvas/OESTextureFloatLinear.cpp
1130         html/canvas/OESTextureHalfFloat.cpp
1131         html/canvas/OESTextureHalfFloatLinear.cpp
1132         html/canvas/OESVertexArrayObject.cpp
1133         html/canvas/WebGL2RenderingContext.cpp
1134         html/canvas/WebGLBuffer.cpp
1135         html/canvas/WebGLCompressedTextureATC.cpp
1136         html/canvas/WebGLCompressedTexturePVRTC.cpp
1137         html/canvas/WebGLCompressedTextureS3TC.cpp
1138         html/canvas/WebGLContextEvent.cpp
1139         html/canvas/WebGLContextGroup.cpp
1140         html/canvas/WebGLContextObject.cpp
1141         html/canvas/WebGLDebugRendererInfo.cpp
1142         html/canvas/WebGLDebugShaders.cpp
1143         html/canvas/WebGLDepthTexture.cpp
1144         html/canvas/WebGLDrawBuffers.cpp
1145         html/canvas/WebGLExtension.cpp
1146         html/canvas/WebGLFramebuffer.cpp
1147         html/canvas/WebGLLoseContext.cpp
1148         html/canvas/WebGLObject.cpp
1149         html/canvas/WebGLProgram.cpp
1150         html/canvas/WebGLQuery.cpp
1151         html/canvas/WebGLRenderbuffer.cpp
1152         html/canvas/WebGLRenderingContext.cpp
1153         html/canvas/WebGLRenderingContextBase.cpp
1154         html/canvas/WebGLSampler.cpp
1155         html/canvas/WebGLShader.cpp
1156         html/canvas/WebGLShaderPrecisionFormat.cpp
1157         html/canvas/WebGLSharedObject.cpp
1158         html/canvas/WebGLSync.cpp
1159         html/canvas/WebGLTexture.cpp
1160         html/canvas/WebGLTransformFeedback.cpp
1161         html/canvas/WebGLUniformLocation.cpp
1162         html/canvas/WebGLVertexArrayObject.cpp
1163         html/canvas/WebGLVertexArrayObjectBase.cpp
1164         html/canvas/WebGLVertexArrayObjectOES.cpp
1165
1166         inspector/InspectorShaderProgram.cpp
1167     )
1168     list(APPEND WebCore_IDL_FILES
1169         html/canvas/ANGLEInstancedArrays.idl
1170         html/canvas/EXTBlendMinMax.idl
1171         html/canvas/EXTFragDepth.idl
1172         html/canvas/EXTShaderTextureLOD.idl
1173         html/canvas/EXTTextureFilterAnisotropic.idl
1174         html/canvas/EXTsRGB.idl
1175         html/canvas/OESElementIndexUint.idl
1176         html/canvas/OESStandardDerivatives.idl
1177         html/canvas/OESTextureFloat.idl
1178         html/canvas/OESTextureFloatLinear.idl
1179         html/canvas/OESTextureHalfFloat.idl
1180         html/canvas/OESTextureHalfFloatLinear.idl
1181         html/canvas/OESVertexArrayObject.idl
1182         html/canvas/WebGL2RenderingContext.idl
1183         html/canvas/WebGLActiveInfo.idl
1184         html/canvas/WebGLBuffer.idl
1185         html/canvas/WebGLCompressedTextureATC.idl
1186         html/canvas/WebGLCompressedTexturePVRTC.idl
1187         html/canvas/WebGLCompressedTextureS3TC.idl
1188         html/canvas/WebGLContextAttributes.idl
1189         html/canvas/WebGLContextEvent.idl
1190         html/canvas/WebGLDebugRendererInfo.idl
1191         html/canvas/WebGLDebugShaders.idl
1192         html/canvas/WebGLDepthTexture.idl
1193         html/canvas/WebGLDrawBuffers.idl
1194         html/canvas/WebGLFramebuffer.idl
1195         html/canvas/WebGLLoseContext.idl
1196         html/canvas/WebGLProgram.idl
1197         html/canvas/WebGLQuery.idl
1198         html/canvas/WebGLRenderbuffer.idl
1199         html/canvas/WebGLRenderingContext.idl
1200         html/canvas/WebGLRenderingContextBase.idl
1201         html/canvas/WebGLSampler.idl
1202         html/canvas/WebGLShader.idl
1203         html/canvas/WebGLShaderPrecisionFormat.idl
1204         html/canvas/WebGLSync.idl
1205         html/canvas/WebGLTexture.idl
1206         html/canvas/WebGLTransformFeedback.idl
1207         html/canvas/WebGLUniformLocation.idl
1208         html/canvas/WebGLVertexArrayObject.idl
1209         html/canvas/WebGLVertexArrayObjectOES.idl
1210     )
1211 endif ()
1212
1213 if (ENABLE_VIDEO_TRACK)
1214     list(APPEND WebCore_IDL_FILES
1215         html/track/AudioTrack.idl
1216         html/track/AudioTrackList.idl
1217         html/track/DataCue.idl
1218         html/track/TextTrack.idl
1219         html/track/TextTrackCue.idl
1220         html/track/TextTrackCueList.idl
1221         html/track/TextTrackList.idl
1222         html/track/TrackEvent.idl
1223         html/track/VTTCue.idl
1224         html/track/VTTRegion.idl
1225         html/track/VTTRegionList.idl
1226         html/track/VideoTrack.idl
1227         html/track/VideoTrackList.idl
1228     )
1229
1230     if (ENABLE_MEDIA_SOURCE)
1231         list(APPEND WebCore_IDL_FILES
1232             Modules/mediasource/AudioTrackMediaSource.idl
1233             Modules/mediasource/TextTrackMediaSource.idl
1234             Modules/mediasource/VideoTrackMediaSource.idl
1235         )
1236     endif ()
1237
1238     list(APPEND WebCore_SOURCES
1239         html/track/AudioTrack.cpp
1240         html/track/AudioTrackList.cpp
1241         html/track/BufferedLineReader.cpp
1242         html/track/DataCue.cpp
1243         html/track/InbandDataTextTrack.cpp
1244         html/track/InbandGenericTextTrack.cpp
1245         html/track/InbandTextTrack.cpp
1246         html/track/InbandWebVTTTextTrack.cpp
1247         html/track/LoadableTextTrack.cpp
1248         html/track/TextTrack.cpp
1249         html/track/TextTrackCue.cpp
1250         html/track/TextTrackCueGeneric.cpp
1251         html/track/TextTrackCueList.cpp
1252         html/track/TextTrackList.cpp
1253         html/track/TrackBase.cpp
1254         html/track/TrackEvent.cpp
1255         html/track/TrackListBase.cpp
1256         html/track/VTTCue.cpp
1257         html/track/VTTRegion.cpp
1258         html/track/VTTRegionList.cpp
1259         html/track/VTTScanner.cpp
1260         html/track/VideoTrack.cpp
1261         html/track/VideoTrackList.cpp
1262         html/track/WebVTTElement.cpp
1263         html/track/WebVTTParser.cpp
1264         html/track/WebVTTTokenizer.cpp
1265
1266         loader/cache/CachedTextTrack.cpp
1267
1268         platform/graphics/TextTrackRepresentation.cpp
1269         platform/graphics/TrackPrivateBase.cpp
1270     )
1271 endif ()
1272
1273 if (ENABLE_QUOTA)
1274     list(APPEND WebCore_SOURCES
1275         Modules/quota/DOMWindowQuota.cpp
1276         Modules/quota/NavigatorStorageQuota.cpp
1277         Modules/quota/StorageErrorCallback.cpp
1278         Modules/quota/StorageInfo.cpp
1279         Modules/quota/StorageQuota.cpp
1280         Modules/quota/WorkerNavigatorStorageQuota.cpp
1281     )
1282
1283     list(APPEND WebCore_IDL_FILES
1284         Modules/quota/DOMWindowQuota.idl
1285         Modules/quota/NavigatorStorageQuota.idl
1286         Modules/quota/StorageErrorCallback.idl
1287         Modules/quota/StorageInfo.idl
1288         Modules/quota/StorageQuota.idl
1289         Modules/quota/StorageQuotaCallback.idl
1290         Modules/quota/StorageUsageCallback.idl
1291         Modules/quota/WorkerNavigatorStorageQuota.idl
1292     )
1293 endif ()
1294
1295 if (ENABLE_GRAPHICS_CONTEXT_3D)
1296     # For platforms that want to use system-provided OpenGL (ES) / EGL headers,
1297     # these include directories, libraries or definitions need to be
1298     # added before the ANGLE directories.
1299     if (USE_LIBEPOXY)
1300         list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
1301             ${LIBEPOXY_INCLUDE_DIRS}
1302         )
1303         list(APPEND WebCore_LIBRARIES
1304             ${LIBEPOXY_LIBRARIES}
1305         )
1306         add_definitions(${LIBEPOXY_DEFINITIONS})
1307     else ()
1308         if (USE_OPENGL)
1309             list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
1310                 ${OPENGL_INCLUDE_DIRS}
1311             )
1312             list(APPEND WebCore_LIBRARIES
1313                 ${OPENGL_LIBRARIES}
1314             )
1315             add_definitions(${OPENGL_DEFINITIONS})
1316         elseif (USE_OPENGL_ES_2)
1317             list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
1318                 ${OPENGLES2_INCLUDE_DIRS}
1319             )
1320             list(APPEND WebCore_LIBRARIES
1321                 ${OPENGLES2_LIBRARIES}
1322             )
1323             add_definitions(${OPENGLES2_DEFINITIONS})
1324         endif ()
1325
1326         if (USE_EGL)
1327             list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
1328                 ${EGL_INCLUDE_DIRS}
1329             )
1330             list(APPEND WebCore_LIBRARIES
1331                 ${EGL_LIBRARIES}
1332             )
1333             add_definitions(${EGL_DEFINITIONS})
1334         endif ()
1335     endif ()
1336
1337     list(APPEND WebCore_INCLUDE_DIRECTORIES
1338         "${ANGLE_FORWARDING_HEADERS_DIR}"
1339         "${WEBCORE_DIR}/platform/graphics/gpu"
1340     )
1341
1342     list(APPEND ANGLESupport_SOURCES
1343         ${THIRDPARTY_DIR}/ANGLE/src/common/Float16ToFloat32.cpp
1344         ${THIRDPARTY_DIR}/ANGLE/src/common/angleutils.cpp
1345         ${THIRDPARTY_DIR}/ANGLE/src/common/debug.cpp
1346         ${THIRDPARTY_DIR}/ANGLE/src/common/event_tracer.cpp
1347         ${THIRDPARTY_DIR}/ANGLE/src/common/mathutil.cpp
1348         ${THIRDPARTY_DIR}/ANGLE/src/common/MemoryBuffer.cpp
1349         ${THIRDPARTY_DIR}/ANGLE/src/common/utilities.cpp
1350         ${THIRDPARTY_DIR}/ANGLE/src/common/tls.cpp
1351
1352         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/AddAndTrueToLoopCondition.cpp
1353         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/AddDefaultReturnStatements.cpp
1354         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ArrayReturnValueToOutParameter.cpp
1355         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ASTMetadataHLSL.cpp
1356         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/blocklayout.cpp
1357         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/blocklayoutHLSL.cpp
1358         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/BreakVariableAliasingInInnerLoops.cpp
1359         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/BuiltInFunctionEmulator.cpp
1360         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/BuiltInFunctionEmulatorGLSL.cpp
1361         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/BuiltInFunctionEmulatorHLSL.cpp
1362         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/Cache.cpp
1363         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/CallDAG.cpp
1364         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/CodeGen.cpp
1365         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/Compiler.cpp
1366         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ConstantUnion.cpp
1367         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/DeferGlobalInitializers.cpp
1368         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/Diagnostics.cpp
1369         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/DirectiveHandler.cpp
1370         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/EmulateGLFragColorBroadcast.cpp
1371         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/EmulatePrecision.cpp
1372         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ExpandIntegerPowExpressions.cpp
1373         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ExtensionGLSL.cpp
1374         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/FindSymbolNode.cpp
1375         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/FlagStd140Structs.cpp
1376         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/glslang_lex.cpp
1377         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/glslang_tab.cpp
1378         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/InfoSink.cpp
1379         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/Initialize.cpp
1380         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/InitializeDll.cpp
1381         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/InitializeVariables.cpp
1382         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/Intermediate.cpp
1383         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/IntermNode.cpp
1384         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/IntermNodePatternMatcher.cpp
1385         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/IntermTraverse.cpp
1386         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/intermOut.cpp
1387         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/Operator.cpp
1388         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/OutputESSL.cpp
1389         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/OutputGLSL.cpp
1390         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/OutputGLSLBase.cpp
1391         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/OutputHLSL.cpp
1392         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/OutputVulkanGLSL.cpp
1393         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ParseContext.cpp
1394         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/PoolAlloc.cpp
1395         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/PruneEmptyDeclarations.cpp
1396         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/PrunePureLiteralStatements.cpp
1397         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/QualifierTypes.cpp
1398         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RecordConstantPrecision.cpp
1399         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RegenerateStructNames.cpp
1400         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RemoveDynamicIndexing.cpp
1401         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RemoveInvariantDeclaration.cpp
1402         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RemovePow.cpp
1403         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RemoveSwitchFallThrough.cpp
1404         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RewriteDoWhile.cpp
1405         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RewriteElseBlocks.cpp
1406         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RewriteUnaryMinusOperatorFloat.cpp
1407         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RewriteTexelFetchOffset.cpp
1408         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RewriteUnaryMinusOperatorInt.cpp
1409         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ScalarizeVecAndMatConstructorArgs.cpp
1410         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/SearchSymbol.cpp
1411         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/SeparateArrayInitialization.cpp
1412         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/SeparateExpressionsReturningArrays.cpp
1413         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/SeparateDeclarations.cpp
1414         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ShaderLang.cpp
1415         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ShaderVars.cpp
1416         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/SimplifyLoopConditions.cpp
1417         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/SplitSequenceOperator.cpp
1418         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/StructureHLSL.cpp
1419         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/SymbolTable.cpp
1420         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/TextureFunctionHLSL.cpp
1421         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/TranslatorESSL.cpp
1422         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/TranslatorGLSL.cpp
1423         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/TranslatorHLSL.cpp
1424         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/TranslatorVulkan.cpp
1425         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/Types.cpp
1426         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/UnfoldShortCircuitAST.cpp
1427         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/UnfoldShortCircuitToIf.cpp
1428         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/UniformHLSL.cpp
1429         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/UseInterfaceBlockFields.cpp
1430         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/util.cpp
1431         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/UtilsHLSL.cpp
1432         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ValidateGlobalInitializer.cpp
1433         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ValidateLimitations.cpp
1434         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ValidateMaxParameters.cpp
1435         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ValidateMultiviewWebGL.cpp
1436         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ValidateOutputs.cpp
1437         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ValidateSwitch.cpp
1438         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/VariableInfo.cpp
1439         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/VariablePacker.cpp
1440         ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/VersionGLSL.cpp
1441
1442         ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/DiagnosticsBase.cpp
1443         ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/DirectiveHandlerBase.cpp
1444         ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/DirectiveParser.cpp
1445         ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/ExpressionParser.cpp
1446         ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/Input.cpp
1447         ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/Lexer.cpp
1448         ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/Macro.cpp
1449         ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/MacroExpander.cpp
1450         ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/Preprocessor.cpp
1451         ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/Token.cpp
1452         ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/Tokenizer.cpp
1453
1454         ${THIRDPARTY_DIR}/ANGLE/src/libANGLE/Platform.cpp
1455
1456         ${THIRDPARTY_DIR}/ANGLE/src/third_party/compiler/ArrayBoundsClamper.cpp
1457     )
1458
1459     list(APPEND WebCore_SOURCES
1460         platform/graphics/ANGLEWebKitBridge.cpp
1461         platform/graphics/FormatConverter.cpp
1462         platform/graphics/GraphicsContext3D.cpp
1463     )
1464 endif ()
1465
1466 if (ENABLE_USER_MESSAGE_HANDLERS)
1467     list(APPEND WebCore_IDL_FILES
1468         page/UserMessageHandler.idl
1469         page/UserMessageHandlersNamespace.idl
1470         page/WebKitNamespace.idl
1471     )
1472     list(APPEND WebCore_SOURCES
1473         page/UserMessageHandler.cpp
1474         page/UserMessageHandlerDescriptor.cpp
1475         page/UserMessageHandlersNamespace.cpp
1476         page/WebKitNamespace.cpp
1477     )
1478 endif ()
1479
1480 if (USE_WOFF2)
1481   list(APPEND WebCore_INCLUDE_DIRECTORIES "${WOFF2DEC_INCLUDE_DIRS}")
1482   list(APPEND WebCore_LIBRARIES "${WOFF2DEC_LIBRARIES}")
1483 endif ()
1484
1485 if (USE_XDGMIME)
1486     list(APPEND WebCore_INCLUDE_DIRECTORIES "${THIRDPARTY_DIR}/xdgmime/src")
1487     list(APPEND WebCore_LIBRARIES xdgmime)
1488 endif ()
1489
1490 set(WebCoreTestSupport_INCLUDE_DIRECTORIES
1491     "${WEBCORE_DIR}/platform/mock"
1492     "${WEBCORE_DIR}/testing"
1493     "${WEBCORE_DIR}/testing/js"
1494     "${DERIVED_SOURCES_WEBCORE_DIR}"
1495 )
1496
1497 set(WebCoreTestSupport_IDL_INCLUDES
1498     testing
1499 )
1500
1501 set(WebCoreTestSupport_IDL_FILES
1502     testing/GCObservation.idl
1503     testing/InternalSettings.idl
1504     testing/Internals.idl
1505     testing/MallocStatistics.idl
1506     testing/MemoryInfo.idl
1507     testing/MockCDMFactory.idl
1508     testing/MockContentFilterSettings.idl
1509     testing/MockPageOverlay.idl
1510     testing/TypeConversions.idl
1511 )
1512
1513 list(APPEND WebCoreTestSupport_SOURCES
1514     platform/mock/PlatformSpeechSynthesizerMock.cpp
1515
1516     platform/mock/mediasource/MockBox.cpp
1517     platform/mock/mediasource/MockMediaPlayerMediaSource.cpp
1518     platform/mock/mediasource/MockMediaSourcePrivate.cpp
1519     platform/mock/mediasource/MockSourceBufferPrivate.cpp
1520
1521     testing/GCObservation.cpp
1522     testing/InternalSettings.cpp
1523     testing/Internals.cpp
1524     testing/MockCDMFactory.cpp
1525     testing/MockGamepad.cpp
1526     testing/MockGamepadProvider.cpp
1527     testing/MockPageOverlay.cpp
1528     testing/MockPageOverlayClient.cpp
1529
1530     testing/js/WebCoreTestSupport.cpp
1531 )
1532
1533 set(WebCoreTestSupport_LIBRARIES
1534     PRIVATE JavaScriptCore${DEBUG_SUFFIX}
1535 )
1536
1537 # Modules that the bindings generator scripts may use
1538 set(SCRIPTS_RESOLVE_SUPPLEMENTAL
1539     ${WEBCORE_DIR}/bindings/scripts/IDLParser.pm
1540 )
1541 set(SCRIPTS_BINDINGS
1542     ${WEBCORE_DIR}/bindings/scripts/CodeGenerator.pm
1543     ${WEBCORE_DIR}/bindings/scripts/CodeGeneratorJS.pm
1544     ${WEBCORE_DIR}/bindings/scripts/IDLParser.pm
1545     ${WEBCORE_DIR}/bindings/scripts/InFilesParser.pm
1546     ${WEBCORE_DIR}/bindings/scripts/preprocessor.pm
1547 )
1548
1549 set(MAKE_NAMES_DEPENDENCIES
1550     ${WEBCORE_DIR}/bindings/scripts/Hasher.pm
1551     ${WEBCORE_DIR}/bindings/scripts/StaticString.pm
1552 )
1553 set(SUPPLEMENTAL_DEPENDENCY_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/supplemental_dependency.tmp)
1554 set(WINDOW_CONSTRUCTORS_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWindowConstructors.idl)
1555 set(WORKERGLOBALSCOPE_CONSTRUCTORS_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/WorkerGlobalScopeConstructors.idl)
1556 set(DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/DedicatedWorkerGlobalScopeConstructors.idl)
1557 set(SERVICEWORKERGLOBALSCOPE_CONSTRUCTORS_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/ServiceWorkerGlobalScopeConstructors.idl)
1558
1559 WEBKIT_FRAMEWORK_DECLARE(WebCore)
1560 WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
1561
1562 # Generate InspectorOverlayPage.h
1563 add_custom_command(
1564     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.h ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.combined.html
1565     MAIN_DEPENDENCY inspector/InspectorOverlayPage.html
1566     DEPENDS ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl ${JavaScriptCore_SCRIPTS_DIR}/inline-and-minify-stylesheets-and-scripts.py
1567     DEPENDS inspector/InspectorOverlayPage.css inspector/InspectorOverlayPage.js
1568     COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/inline-and-minify-stylesheets-and-scripts.py ${WEBCORE_DIR}/inspector/InspectorOverlayPage.html ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.combined.html
1569     COMMAND ${PERL_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl InspectorOverlayPage_html ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.combined.html ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.h
1570     VERBATIM)
1571 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.h)
1572
1573
1574 # Generate CommandLineAPIModuleSource.h
1575 add_custom_command(
1576     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.h ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.min.js
1577     MAIN_DEPENDENCY inspector/CommandLineAPIModuleSource.js
1578     DEPENDS ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl ${JavaScriptCore_SCRIPTS_DIR}/jsmin.py
1579     COMMAND ${CMAKE_COMMAND} -E echo "//# sourceURL=__InjectedScript_CommandLineAPIModuleSource.js" > ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.min.js
1580     COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/jsmin.py < ${WEBCORE_DIR}/inspector/CommandLineAPIModuleSource.js >> ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.min.js
1581     COMMAND ${PERL_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl CommandLineAPIModuleSource_js ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.min.js ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.h
1582     VERBATIM)
1583 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.h)
1584
1585
1586 MAKE_HASH_TOOLS(${WEBCORE_DIR}/platform/ColorData)
1587 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/ColorData.cpp)
1588
1589
1590 # Generate DOMJITAbstractHeapRepository.h
1591 add_custom_command(
1592     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/DOMJITAbstractHeapRepository.h
1593     MAIN_DEPENDENCY domjit/DOMJITAbstractHeapRepository.yaml
1594     DEPENDS ${WEBCORE_DIR}/domjit/generate-abstract-heap.rb
1595     COMMAND ${RUBY_EXECUTABLE} ${WEBCORE_DIR}/domjit/generate-abstract-heap.rb ${WEBCORE_DIR}/domjit/DOMJITAbstractHeapRepository.yaml ${DERIVED_SOURCES_WEBCORE_DIR}/DOMJITAbstractHeapRepository.h
1596     VERBATIM)
1597 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/DOMJITAbstractHeapRepository.h)
1598
1599 # Generate XMLViewerCSS.h
1600 add_custom_command(
1601     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewerCSS.h ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewer.min.css
1602     MAIN_DEPENDENCY xml/XMLViewer.css
1603     DEPENDS ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl ${JavaScriptCore_SCRIPTS_DIR}/cssmin.py
1604     COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/cssmin.py < ${WEBCORE_DIR}/xml/XMLViewer.css > ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewer.min.css
1605     COMMAND ${PERL_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl XMLViewer_css ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewer.min.css ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewerCSS.h
1606     VERBATIM)
1607 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewerCSS.h)
1608
1609 # Generate XMLViewerJS.h
1610 add_custom_command(
1611     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewerJS.h ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewer.min.js
1612     MAIN_DEPENDENCY xml/XMLViewer.js
1613     DEPENDS ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl ${JavaScriptCore_SCRIPTS_DIR}/jsmin.py
1614     COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/jsmin.py < ${WEBCORE_DIR}/xml/XMLViewer.js > ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewer.min.js
1615     COMMAND ${PERL_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl XMLViewer_js ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewer.min.js ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewerJS.h
1616     VERBATIM)
1617 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewerJS.h)
1618
1619 # Generate HTML entity table
1620 add_custom_command(
1621     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/HTMLEntityTable.cpp
1622     MAIN_DEPENDENCY ${WEBCORE_DIR}/html/parser/HTMLEntityNames.in
1623     DEPENDS ${WEBCORE_DIR}/html/parser/create-html-entity-table
1624     COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/html/parser/create-html-entity-table -o ${DERIVED_SOURCES_WEBCORE_DIR}/HTMLEntityTable.cpp ${WEBCORE_DIR}/html/parser/HTMLEntityNames.in
1625     VERBATIM)
1626 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/HTMLEntityTable.cpp)
1627
1628 # Generate HTTP header names
1629 add_custom_command(
1630     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/HTTPHeaderNames.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/HTTPHeaderNames.gperf ${DERIVED_SOURCES_WEBCORE_DIR}/HTTPHeaderNames.h
1631     MAIN_DEPENDENCY ${WEBCORE_DIR}/platform/network/HTTPHeaderNames.in
1632     DEPENDS ${WEBCORE_DIR}/platform/network/create-http-header-name-table
1633     WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
1634     COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/platform/network/create-http-header-name-table ${WEBCORE_DIR}/platform/network/HTTPHeaderNames.in "${GPERF_EXECUTABLE}"
1635     VERBATIM)
1636 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/HTTPHeaderNames.cpp)
1637
1638 # Generate CSS property names
1639 add_custom_command(
1640     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CSSProperties.json ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.h ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.gperf ${DERIVED_SOURCES_WEBCORE_DIR}/StyleBuilder.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/StylePropertyShorthandFunctions.h ${DERIVED_SOURCES_WEBCORE_DIR}/StylePropertyShorthandFunctions.cpp
1641     MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makeprop.pl
1642     DEPENDS ${WebCore_CSS_PROPERTY_NAMES}
1643     WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
1644     COMMAND ${PERL_EXECUTABLE} -ne "print" ${WebCore_CSS_PROPERTY_NAMES} > ${DERIVED_SOURCES_WEBCORE_DIR}/CSSProperties.json
1645     COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/css/makeprop.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --gperf-executable "${GPERF_EXECUTABLE}"
1646     VERBATIM)
1647 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp)
1648 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/StyleBuilder.cpp)
1649 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/StylePropertyShorthandFunctions.cpp)
1650 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/CSSParser.cpp CSSValueKeywords.h)
1651
1652 # Generate CSS value keywords
1653 add_custom_command(
1654     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.in ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.h ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.gperf
1655     MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makevalues.pl
1656     DEPENDS ${WebCore_CSS_VALUE_KEYWORDS}
1657     WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
1658     COMMAND ${PERL_EXECUTABLE} -ne "print" ${WebCore_CSS_VALUE_KEYWORDS} > ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.in
1659     COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/css/makevalues.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}"
1660     VERBATIM)
1661 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.cpp)
1662 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/CSSParser.cpp CSSValueKeywords.h)
1663 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/CSSPrimitiveValueMappings.h CSSValueKeywords.h)
1664
1665 # Generate CSS Selector pseudo type name to value maps.
1666 add_custom_command(
1667     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/SelectorPseudoClassAndCompatibilityElementMap.gperf ${DERIVED_SOURCES_WEBCORE_DIR}/SelectorPseudoClassAndCompatibilityElementMap.cpp
1668     MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makeSelectorPseudoClassAndCompatibilityElementMap.py
1669     WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
1670     COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/css/makeSelectorPseudoClassAndCompatibilityElementMap.py ${WEBCORE_DIR}/css/SelectorPseudoClassAndCompatibilityElementMap.in "${GPERF_EXECUTABLE}" "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}"
1671     VERBATIM)
1672 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/SelectorPseudoClassAndCompatibilityElementMap.cpp)
1673 add_custom_command(
1674     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/SelectorPseudoElementTypeMap.gperf ${DERIVED_SOURCES_WEBCORE_DIR}/SelectorPseudoElementTypeMap.cpp
1675     MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makeSelectorPseudoElementsMap.py
1676     WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
1677     COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/css/makeSelectorPseudoElementsMap.py ${WEBCORE_DIR}/css/SelectorPseudoElementTypeMap.in "${GPERF_EXECUTABLE}" "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}"
1678     VERBATIM)
1679 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/SelectorPseudoElementTypeMap.cpp)
1680
1681 # Generate user agent styles
1682 add_custom_command(
1683     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentStyleSheetsData.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentStyleSheets.h
1684     MAIN_DEPENDENCY ${WEBCORE_DIR}/css/make-css-file-arrays.pl
1685     DEPENDS ${WebCore_USER_AGENT_STYLE_SHEETS} ${WEBCORE_DIR}/bindings/scripts/preprocessor.pm
1686     COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/css/make-css-file-arrays.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentStyleSheets.h ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentStyleSheetsData.cpp ${WebCore_USER_AGENT_STYLE_SHEETS}
1687     VERBATIM)
1688 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentStyleSheetsData.cpp)
1689 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/StyleResolver.cpp UserAgentStyleSheetsData.cpp UserAgentStyleSheets.h)
1690
1691 if (WebCore_USER_AGENT_SCRIPTS)
1692     # Necessary variables:
1693     # WebCore_USER_AGENT_SCRIPTS containing the JavaScript sources list
1694     # WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES containing the source file that will load the scripts to add the proper
1695     #   dependency and having them built at the right moment
1696
1697     MAKE_JS_FILE_ARRAYS(
1698         ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScriptsData.cpp
1699         ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScripts.h
1700         WebCore
1701         WebCore_USER_AGENT_SCRIPTS
1702         WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES
1703     )
1704     list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScriptsData.cpp)
1705 endif ()
1706
1707 # Generate plug-in resources
1708 add_custom_command(
1709     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/PlugInsResourcesData.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/PlugInsResources.h
1710     MAIN_DEPENDENCY ${WEBCORE_DIR}/css/make-css-file-arrays.pl
1711     DEPENDS ${WebCore_PLUG_INS_RESOURCES} ${WEBCORE_DIR}/bindings/scripts/preprocessor.pm
1712     COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/css/make-css-file-arrays.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" ${DERIVED_SOURCES_WEBCORE_DIR}/PlugInsResources.h ${DERIVED_SOURCES_WEBCORE_DIR}/PlugInsResourcesData.cpp ${WebCore_PLUG_INS_RESOURCES}
1713     VERBATIM)
1714 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/PlugInsResourcesData.cpp)
1715 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/StyleResolver.cpp PlugInsResourcesData.cpp PlugInsResources.h)
1716
1717 set(FEATURE_DEFINES_JAVASCRIPT "LANGUAGE_JAVASCRIPT ${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}")
1718 list(APPEND WebCoreTestSupport_IDL_FILES ${DERIVED_SOURCES_WEBCORE_DIR}/InternalSettingsGenerated.idl)
1719
1720 GENERATE_BINDINGS(WebCoreBindings
1721     OUTPUT_SOURCE WebCore_DERIVED_SOURCES
1722     INPUT_FILES ${WebCore_IDL_FILES}
1723     BASE_DIR ${WEBCORE_DIR}
1724     IDL_INCLUDES ${WebCore_IDL_INCLUDES} ${DERIVED_SOURCES_WEBCORE_DIR}
1725     FEATURES ${FEATURE_DEFINES_JAVASCRIPT}
1726     DESTINATION ${DERIVED_SOURCES_WEBCORE_DIR}
1727     GENERATOR JS
1728     SUPPLEMENTAL_DEPFILE ${SUPPLEMENTAL_DEPENDENCY_FILE}
1729     PP_EXTRA_OUTPUT
1730         ${WINDOW_CONSTRUCTORS_FILE} ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE} ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
1731     PP_EXTRA_ARGS
1732         --windowConstructorsFile ${WINDOW_CONSTRUCTORS_FILE}
1733         --workerGlobalScopeConstructorsFile ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
1734         --dedicatedWorkerGlobalScopeConstructorsFile ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
1735         --serviceWorkerGlobalScopeConstructorsFile ${SERVICEWORKERGLOBALSCOPE_CONSTRUCTORS_FILE})
1736
1737 GENERATE_BINDINGS(WebCoreTestSupportBindings
1738     OUTPUT_SOURCE WebCoreTestSupport_SOURCES
1739     INPUT_FILES ${WebCoreTestSupport_IDL_FILES}
1740     BASE_DIR ${WEBCORE_DIR}
1741     IDL_INCLUDES ${WebCore_IDL_INCLUDES} ${DERIVED_SOURCES_WEBCORE_DIR} ${WebCoreTestSupport_IDL_INCLUDES}
1742     FEATURES ${FEATURE_DEFINES_JAVASCRIPT}
1743     DESTINATION ${DERIVED_SOURCES_WEBCORE_DIR}
1744     GENERATOR JS)
1745
1746 # WebCoreTestSupportBindings needs InternalSettingsGenerated.idl
1747 add_dependencies(WebCoreTestSupportBindings WebCoreDerivedSources)
1748
1749 # WebCore JS Builtins
1750
1751 set(WebCore_BUILTINS_SOURCES
1752     ${WEBCORE_DIR}/Modules/mediastream/NavigatorUserMedia.js
1753     ${WEBCORE_DIR}/Modules/mediastream/RTCPeerConnection.js
1754     ${WEBCORE_DIR}/Modules/mediastream/RTCPeerConnectionInternals.js
1755     ${WEBCORE_DIR}/Modules/streams/ByteLengthQueuingStrategy.js
1756     ${WEBCORE_DIR}/Modules/streams/CountQueuingStrategy.js
1757     ${WEBCORE_DIR}/Modules/streams/ReadableByteStreamController.js
1758     ${WEBCORE_DIR}/Modules/streams/ReadableByteStreamInternals.js
1759     ${WEBCORE_DIR}/Modules/streams/ReadableStream.js
1760     ${WEBCORE_DIR}/Modules/streams/ReadableStreamBYOBReader.js
1761     ${WEBCORE_DIR}/Modules/streams/ReadableStreamBYOBRequest.js
1762     ${WEBCORE_DIR}/Modules/streams/ReadableStreamDefaultController.js
1763     ${WEBCORE_DIR}/Modules/streams/ReadableStreamInternals.js
1764     ${WEBCORE_DIR}/Modules/streams/ReadableStreamDefaultReader.js
1765     ${WEBCORE_DIR}/Modules/streams/StreamInternals.js
1766     ${WEBCORE_DIR}/Modules/streams/WritableStream.js
1767     ${WEBCORE_DIR}/Modules/streams/WritableStreamInternals.js
1768     ${WEBCORE_DIR}/bindings/js/JSDOMBindingInternals.js
1769 )
1770
1771 set(BUILTINS_GENERATOR_SCRIPTS
1772     ${JavaScriptCore_SCRIPTS_DIR}/builtins.py
1773     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generator.py
1774     ${JavaScriptCore_SCRIPTS_DIR}/builtins_model.py
1775     ${JavaScriptCore_SCRIPTS_DIR}/builtins_templates.py
1776     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_combined_header.py
1777     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_combined_implementation.py
1778     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_separate_header.py
1779     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_separate_implementation.py
1780     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_wrapper_header.py
1781     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_wrapper_implementation.py
1782     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_internals_wrapper_header.py
1783     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_internals_wrapper_implementation.py
1784     ${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py
1785     ${JavaScriptCore_SCRIPTS_DIR}/lazywriter.py
1786 )
1787
1788 foreach (_builtinSource ${WebCore_BUILTINS_SOURCES})
1789     get_filename_component(_objectName ${_builtinSource} NAME_WE)
1790     add_custom_command(
1791         OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/${_objectName}Builtins.cpp
1792                ${DERIVED_SOURCES_WEBCORE_DIR}/${_objectName}Builtins.h
1793         MAIN_DEPENDENCY ${_builtinSource}
1794         DEPENDS ${BUILTINS_GENERATOR_SCRIPTS}
1795         COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py --framework WebCore --output-directory ${DERIVED_SOURCES_WEBCORE_DIR} ${_builtinSource}
1796         VERBATIM)
1797     list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/${_objectName}Builtins.cpp)
1798     list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/${_objectName}Builtins.h)
1799     list(APPEND WebCore_DERIVED_BUILTIN_HEADERS ${DERIVED_SOURCES_WEBCORE_DIR}/${_objectName}Builtins.h)
1800 endforeach ()
1801
1802 add_custom_command(
1803     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.cpp
1804            ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.cpp
1805            ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h
1806            ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.h
1807     MAIN_DEPENDENCY ${WebCore_BUILTINS_SOURCES}
1808     DEPENDS ${BUILTINS_GENERATOR_SCRIPTS} ${WebCore_DERIVED_BUILTIN_HEADERS}
1809     COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py --wrappers-only --framework WebCore --output-directory ${DERIVED_SOURCES_WEBCORE_DIR} ${WebCore_BUILTINS_SOURCES}
1810     VERBATIM)
1811 list(APPEND WebCore_DERIVED_SOURCES
1812     ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.cpp
1813     ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.cpp
1814     ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltins.h
1815     ${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreJSBuiltinInternals.h)
1816
1817 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/html/HTMLTreeBuilder.cpp MathMLNames.cpp)
1818
1819
1820 GENERATE_DOM_NAMES(HTML ${WEBCORE_DIR}/html/HTMLAttributeNames.in ${WEBCORE_DIR}/html/HTMLTagNames.in "")
1821 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/HTMLNames.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/HTMLElementFactory.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/JSHTMLElementWrapperFactory.cpp)
1822
1823
1824 GENERATE_EVENT_FACTORY(${WEBCORE_DIR}/dom/EventNames.in EventInterfaces.h)
1825 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/EventInterfaces.h)
1826
1827
1828 GENERATE_EVENT_FACTORY(${WEBCORE_DIR}/dom/EventTargetFactory.in EventTargetInterfaces.h)
1829 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/EventTargetInterfaces.h)
1830
1831
1832 GENERATE_SETTINGS_MACROS(${WEBCORE_DIR}/page/Settings.yaml Settings.h)
1833 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/Settings.h)
1834 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/Settings.cpp)
1835 list(APPEND WebCoreTestSupport_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/InternalSettingsGenerated.cpp)
1836
1837
1838 GENERATE_FONT_NAMES(${WEBCORE_DIR}/css/WebKitFontFamilyNames.in)
1839 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitFontFamilyNames.cpp)
1840
1841
1842 GENERATE_DOM_NAMES(MathML ${WEBCORE_DIR}/mathml/mathattrs.in ${WEBCORE_DIR}/mathml/mathtags.in "")
1843 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/MathMLNames.cpp)
1844 if (ENABLE_MATHML)
1845     list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/MathMLElementFactory.cpp)
1846 endif ()
1847
1848 # SVG extra defines need to map to a numerical value for correct preprocessing of svgtags.in.
1849 set(SVG_EXTRA_DEFINES "")
1850 if (ENABLE_SVG_FONTS)
1851     list(APPEND SVG_EXTRA_DEFINES "ENABLE_SVG_FONTS=1")
1852 endif ()
1853
1854 GENERATE_DOM_NAMES(SVG ${WEBCORE_DIR}/svg/svgattrs.in ${WEBCORE_DIR}/svg/svgtags.in "${SVG_EXTRA_DEFINES}")
1855 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/SVGNames.cpp)
1856
1857 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/SVGElementFactory.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/JSSVGElementWrapperFactory.cpp)
1858
1859 GENERATE_DOM_NAMES(XLink ${WEBCORE_DIR}/svg/xlinkattrs.in)
1860 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/XLinkNames.cpp)
1861
1862
1863 GENERATE_DOM_NAMES(XMLNS ${WEBCORE_DIR}/xml/xmlnsattrs.in)
1864 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/XMLNSNames.cpp)
1865
1866
1867 GENERATE_DOM_NAMES(XML ${WEBCORE_DIR}/xml/xmlattrs.in)
1868 list(APPEND WebCore_DERIVED_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/XMLNames.cpp)
1869
1870 if (WIN32)
1871     PROCESS_ALLINONE_FILE("${WebCore_DERIVED_SOURCES}" DerivedSources.cpp newSources TRUE)
1872     set(WebCore_DERIVED_SOURCES DerivedSources.cpp ${newSources})
1873 endif ()
1874
1875 WEBKIT_WRAP_SOURCELIST(${WebCore_IDL_FILES} ${WebCore_DERIVED_SOURCES})
1876 WEBKIT_COMPUTE_SOURCES(WebCore)
1877 WEBKIT_WRAP_SOURCELIST(${WebCore_SOURCES})
1878 WEBKIT_WRAP_SOURCELIST(${WebCoreTestSupport_IDL_FILES} ${WebCoreTestSupport_SOURCES})
1879
1880 if (MSVC)
1881     WEBKIT_ADD_PRECOMPILED_HEADER("WebCorePrefix.h" "WebCorePrefix.cpp" WebCore_SOURCES)
1882     WEBKIT_ADD_PRECOMPILED_HEADER("WebCorePrefix.h" "WebCoreDerivedSourcesPrefix.cpp" WebCore_DERIVED_SOURCES)
1883 endif ()
1884
1885 # This is split into a separate library as a workaround for command line length
1886 # limits. This should no longer be needed when CMake supports Ninja response
1887 # files on OS X.
1888 add_library(WebCoreDerivedSources STATIC ${WebCore_DERIVED_SOURCES})
1889 set_target_properties(WebCoreDerivedSources PROPERTIES OUTPUT_NAME WebCoreDerivedSources${DEBUG_SUFFIX})
1890 target_link_libraries(WebCoreDerivedSources ${WebCore_LIBRARIES})
1891 target_include_directories(WebCoreDerivedSources PUBLIC ${WebCore_INCLUDE_DIRECTORIES})
1892 add_dependencies(WebCoreDerivedSources WebCoreBindings)
1893 if (NOT WIN32)
1894     list(APPEND WebCore_LIBRARIES WebCoreDerivedSources)
1895 endif ()
1896
1897 WEBKIT_FRAMEWORK(WebCore)
1898
1899 if (APPLE)
1900     set_target_properties(WebCore PROPERTIES LINK_FLAGS "-sub_library libobjc -umbrella WebKit -allowable_client WebCoreTestSupport -allowable_client WebKit2 -allowable_client WebKitLegacy")
1901 endif ()
1902
1903 if (WIN32)
1904     add_custom_target(WebCoreDerivedSources_PreBuild COMMAND ${WebCore_DERIVED_SOURCES_PRE_BUILD_COMMAND} VERBATIM)
1905     add_dependencies(WebCoreDerivedSources WebCoreDerivedSources_PreBuild)
1906     add_dependencies(WebCore WebCoreDerivedSources)
1907 endif ()
1908
1909 # The -ftree-sra optimization (implicit with -O2) causes crashes when
1910 # allocating large chunks of memory using bmalloc on Intel 32bit.
1911 # See https://bugs.webkit.org/show_bug.cgi?id=146440
1912 string(TOLOWER ${CMAKE_HOST_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR)
1913 if (CMAKE_COMPILER_IS_GNUCXX AND "${LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR}" MATCHES "(i[3-6]86|x86)$")
1914     WEBKIT_ADD_TARGET_CXX_FLAGS(WebCore -fno-tree-sra)
1915 endif ()
1916
1917 if (MSVC)
1918     WEBKIT_ADD_PRECOMPILED_HEADER("WebCoreTestSupportPrefix.h" "testing/js/WebCoreTestSupportPrefix.cpp" WebCoreTestSupport_SOURCES)
1919 endif ()
1920
1921 add_library(WebCoreTestSupport ${WebCoreTestSupport_LIBRARY_TYPE} ${WebCoreTestSupport_SOURCES})
1922 add_dependencies(WebCoreTestSupport WebCore WebCoreTestSupportBindings)
1923 target_include_directories(WebCoreTestSupport PUBLIC ${WebCoreTestSupport_INCLUDE_DIRECTORIES} ${WebCore_INCLUDE_DIRECTORIES})
1924 target_link_libraries(WebCoreTestSupport ${WebCoreTestSupport_LIBRARIES})
1925
1926 if (WebCoreTestSupport_OUTPUT_NAME)
1927     set_target_properties(WebCoreTestSupport PROPERTIES OUTPUT_NAME ${WebCoreTestSupport_OUTPUT_NAME})
1928     if (MSVC)
1929         add_compile_options(/GF- /WX-)
1930     endif ()
1931 endif ()
1932
1933 if (ENABLE_GRAPHICS_CONTEXT_3D AND NOT WIN32)
1934     add_library(ANGLESupport STATIC ${ANGLESupport_SOURCES})
1935
1936     # Enable the ESSL and GLSL translators.
1937     set_property(TARGET ANGLESupport
1938         PROPERTY COMPILE_DEFINITIONS
1939         ANGLE_ENABLE_ESSL
1940         ANGLE_ENABLE_GLSL
1941         ${ANGLE_PLATFORM_DEFINITIONS})
1942
1943     target_include_directories(ANGLESupport PRIVATE
1944         "${THIRDPARTY_DIR}/ANGLE"
1945         "${THIRDPARTY_DIR}/ANGLE/include"
1946         "${THIRDPARTY_DIR}/ANGLE/include/KHR"
1947         "${THIRDPARTY_DIR}/ANGLE/src"
1948         "${THIRDPARTY_DIR}/ANGLE/src/common/third_party/numerics"
1949     )
1950     list(APPEND WebCore_LIBRARIES ANGLESupport)
1951
1952     if (COMPILER_IS_GCC_OR_CLANG)
1953         WEBKIT_ADD_TARGET_CXX_FLAGS(ANGLESupport -Wno-implicit-fallthrough
1954                                                  -Wno-inconsistent-missing-override
1955                                                  -Wno-null-conversion
1956                                                  -Wno-suggest-attribute=format
1957                                                  -Wno-unused-function
1958                                                  -Wno-unused-parameter)
1959     endif ()
1960 endif ()
1961
1962 target_link_libraries(WebCore ${WebCore_LIBRARIES})
1963
1964 if (SHARED_CORE)
1965     set_target_properties(WebCore PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
1966     install(TARGETS WebCore DESTINATION "${LIB_INSTALL_DIR}")
1967 endif ()
1968
1969 if (MSVC)
1970     set_target_properties(WebCore PROPERTIES
1971         COMPILE_PDB_NAME ${WebCore_OUTPUT_NAME}
1972     )
1973 endif ()