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