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