12d7325c2b9d135c892ea77e5ea8e1533fc88537
[WebKit-https.git] / Source / WebCore / PlatformMac.cmake
1 if ("${CURRENT_OSX_VERSION}" MATCHES "10.9")
2     set(WEBKITSYSTEMINTERFACE_LIBRARY ${CMAKE_SOURCE_DIR}/WebKitLibraries/libWebKitSystemInterfaceMavericks.a)
3 elseif ("${CURRENT_OSX_VERSION}" MATCHES "10.10")
4     set(WEBKITSYSTEMINTERFACE_LIBRARY ${CMAKE_SOURCE_DIR}/WebKitLibraries/libWebKitSystemInterfaceYosemite.a)
5 else ()
6     set(WEBKITSYSTEMINTERFACE_LIBRARY ${CMAKE_SOURCE_DIR}/WebKitLibraries/libWebKitSystemInterfaceElCapitan.a)
7 endif ()
8
9 find_library(ACCELERATE_LIBRARY accelerate)
10 find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices)
11 find_library(AVFOUNDATION_LIBRARY AVFoundation)
12 find_library(AUDIOTOOLBOX_LIBRARY AudioToolbox)
13 find_library(AUDIOUNIT_LIBRARY AudioUnit)
14 find_library(CARBON_LIBRARY Carbon)
15 find_library(COCOA_LIBRARY Cocoa)
16 find_library(COREAUDIO_LIBRARY CoreAudio)
17 find_library(DISKARBITRATION_LIBRARY DiskArbitration)
18 find_library(IOKIT_LIBRARY IOKit)
19 find_library(IOSURFACE_LIBRARY IOSurface)
20 find_library(METAL_LIBRARY Metal)
21 find_library(OPENGL_LIBRARY OpenGL)
22 find_library(QUARTZ_LIBRARY Quartz)
23 find_library(QUARTZCORE_LIBRARY QuartzCore)
24 find_library(SECURITY_LIBRARY Security)
25 find_library(SYSTEMCONFIGURATION_LIBRARY SystemConfiguration)
26 find_library(SQLITE3_LIBRARY sqlite3)
27 find_library(XML2_LIBRARY XML2)
28 find_package(ZLIB REQUIRED)
29
30 list(APPEND WebCore_LIBRARIES
31     ${ACCELERATE_LIBRARY}
32     ${AUDIOTOOLBOX_LIBRARY}
33     ${AUDIOUNIT_LIBRARY}
34     ${AVFOUNDATION_LIBRARY}
35     ${CARBON_LIBRARY}
36     ${COCOA_LIBRARY}
37     ${COREAUDIO_LIBRARY}
38     ${DISKARBITRATION_LIBRARY}
39     ${IOKIT_LIBRARY}
40     ${IOSURFACE_LIBRARY}
41     ${METAL_LIBRARY}
42     ${OPENGL_LIBRARY}
43     ${QUARTZ_LIBRARY}
44     ${QUARTZCORE_LIBRARY}
45     ${SECURITY_LIBRARY}
46     ${SQLITE3_LIBRARY}
47     ${SYSTEMCONFIGURATION_LIBRARY}
48     ${WEBKITSYSTEMINTERFACE_LIBRARY}
49     ${XML2_LIBRARY}
50     ${ZLIB_LIBRARIES}
51 )
52
53 add_definitions(-iframework ${APPLICATIONSERVICES_LIBRARY}/Versions/Current/Frameworks)
54 add_definitions(-iframework ${AVFOUNDATION_LIBRARY}/Versions/Current/Frameworks)
55 add_definitions(-iframework ${CARBON_LIBRARY}/Versions/Current/Frameworks)
56 add_definitions(-iframework ${QUARTZ_LIBRARY}/Frameworks)
57
58 find_library(DATADETECTORSCORE_FRAMEWORK DataDetectorsCore HINTS /System/Library/PrivateFrameworks)
59 if (NOT DATADETECTORSCORE_FRAMEWORK-NOTFOUND)
60     list(APPEND WebCore_LIBRARIES ${DATADETECTORSCORE_FRAMEWORK})
61 endif ()
62
63 find_library(LOOKUP_FRAMEWORK Lookup HINTS /System/Library/PrivateFrameworks)
64 if (NOT LOOKUP_FRAMEWORK-NOTFOUND)
65     list(APPEND WebCore_LIBRARIES ${LOOKUP_FRAMEWORK})
66 endif ()
67
68 list(APPEND WebCore_INCLUDE_DIRECTORIES
69     "${FORWARDING_HEADERS_DIR}/JavaScriptCore"
70     "${THIRDPARTY_DIR}/ANGLE"
71     "${THIRDPARTY_DIR}/ANGLE/include/KHR"
72     "${WEBCORE_DIR}/accessibility/mac"
73     "${WEBCORE_DIR}/bridge/objc"
74     "${WEBCORE_DIR}/editing/cocoa"
75     "${WEBCORE_DIR}/editing/mac"
76     "${WEBCORE_DIR}/ForwardingHeaders"
77     "${WEBCORE_DIR}/ForwardingHeaders/bindings"
78     "${WEBCORE_DIR}/ForwardingHeaders/bytecode"
79     "${WEBCORE_DIR}/ForwardingHeaders/domjit"
80     "${WEBCORE_DIR}/ForwardingHeaders/debugger"
81     "${WEBCORE_DIR}/ForwardingHeaders/heap"
82     "${WEBCORE_DIR}/ForwardingHeaders/inspector"
83     "${WEBCORE_DIR}/ForwardingHeaders/interpreter"
84     "${WEBCORE_DIR}/ForwardingHeaders/jit"
85     "${WEBCORE_DIR}/ForwardingHeaders/masm"
86     "${WEBCORE_DIR}/ForwardingHeaders/parser"
87     "${WEBCORE_DIR}/ForwardingHeaders/profiler"
88     "${WEBCORE_DIR}/ForwardingHeaders/replay"
89     "${WEBCORE_DIR}/ForwardingHeaders/runtime"
90     "${WEBCORE_DIR}/ForwardingHeaders/yarr"
91     "${WEBCORE_DIR}/icu"
92     "${WEBCORE_DIR}/loader/archive/cf"
93     "${WEBCORE_DIR}/loader/cf"
94     "${WEBCORE_DIR}/loader/mac"
95     "${WEBCORE_DIR}/page/cocoa"
96     "${WEBCORE_DIR}/page/mac"
97     "${WEBCORE_DIR}/page/scrolling/mac"
98     "${WEBCORE_DIR}/platform/audio/mac"
99     "${WEBCORE_DIR}/platform/cf"
100     "${WEBCORE_DIR}/platform/cocoa"
101     "${WEBCORE_DIR}/platform/graphics/avfoundation"
102     "${WEBCORE_DIR}/platform/graphics/avfoundation/cf"
103     "${WEBCORE_DIR}/platform/graphics/avfoundation/objc"
104     "${WEBCORE_DIR}/platform/graphics/ca"
105     "${WEBCORE_DIR}/platform/graphics/ca/cocoa"
106     "${WEBCORE_DIR}/platform/graphics/cocoa"
107     "${WEBCORE_DIR}/platform/graphics/cg"
108     "${WEBCORE_DIR}/platform/graphics/cv"
109     "${WEBCORE_DIR}/platform/graphics/gpu"
110     "${WEBCORE_DIR}/platform/graphics/egl"
111     "${WEBCORE_DIR}/platform/graphics/opentype"
112     "${WEBCORE_DIR}/platform/graphics/opengl"
113     "${WEBCORE_DIR}/platform/graphics/mac"
114     "${WEBCORE_DIR}/platform/mac"
115     "${WEBCORE_DIR}/platform/mediastream/mac"
116     "${WEBCORE_DIR}/platform/network/cocoa"
117     "${WEBCORE_DIR}/platform/network/cf"
118     "${WEBCORE_DIR}/platform/network/ios"
119     "${WEBCORE_DIR}/platform/network/mac"
120     "${WEBCORE_DIR}/platform/text/cf"
121     "${WEBCORE_DIR}/platform/text/mac"
122     "${WEBCORE_DIR}/platform/spi/cf"
123     "${WEBCORE_DIR}/platform/spi/cg"
124     "${WEBCORE_DIR}/platform/spi/cocoa"
125     "${WEBCORE_DIR}/platform/spi/ios"
126     "${WEBCORE_DIR}/platform/spi/mac"
127     "${WEBCORE_DIR}/plugins/mac"
128 )
129
130 list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
131     ${WEBCORE_DIR}/html/shadow/mac/imageControlsMac.css
132     ${WEBCORE_DIR}/Modules/plugins/QuickTimePluginReplacement.css
133 )
134
135 set(WebCore_USER_AGENT_SCRIPTS
136     ${WEBCORE_DIR}/Modules/plugins/QuickTimePluginReplacement.js
137 )
138
139 #FIXME: Use ios-encodings.txt once we get CMake working for iOS.
140 add_custom_command(
141     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CharsetData.cpp
142     MAIN_DEPENDENCY ${WEBCORE_DIR}/platform/text/mac/make-charset-table.pl
143     DEPENDS platform/text/mac/character-sets.txt
144     DEPENDS platform/text/mac/mac-encodings.txt
145     COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/platform/text/mac/make-charset-table.pl ${WEBCORE_DIR}/platform/text/mac/character-sets.txt ${WEBCORE_DIR}/platform/text/mac/mac-encodings.txt kTextEncoding > ${DERIVED_SOURCES_WEBCORE_DIR}/CharsetData.cpp
146     VERBATIM)
147
148 list(APPEND WebCore_DERIVED_SOURCES
149     ${DERIVED_SOURCES_WEBCORE_DIR}/CharsetData.cpp
150 )
151
152 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
153     "${CMAKE_OSX_SYSROOT}/usr/include/libxslt"
154     "${CMAKE_OSX_SYSROOT}/usr/include/libxml2"
155 )
156
157 list(APPEND WebCore_SOURCES
158     Modules/plugins/QuickTimePluginReplacement.mm
159     Modules/plugins/YouTubePluginReplacement.cpp
160
161     accessibility/mac/AXObjectCacheMac.mm
162     accessibility/mac/AccessibilityObjectMac.mm
163     accessibility/mac/WebAccessibilityObjectWrapperBase.mm
164     accessibility/mac/WebAccessibilityObjectWrapperMac.mm
165
166     bindings/js/ScriptControllerMac.mm
167
168     bridge/objc/ObjCRuntimeObject.mm
169     bridge/objc/WebScriptObject.mm
170     bridge/objc/objc_class.mm
171     bridge/objc/objc_instance.mm
172     bridge/objc/objc_runtime.mm
173     bridge/objc/objc_utility.mm
174
175     crypto/CommonCryptoUtilities.cpp
176
177     crypto/mac/CommonCryptoDERUtilities.cpp
178     crypto/mac/CryptoAlgorithmAES_CBCMac.cpp
179     crypto/mac/CryptoAlgorithmAES_CFBMac.cpp
180     crypto/mac/CryptoAlgorithmAES_CTRMac.cpp
181     crypto/mac/CryptoAlgorithmAES_GCMMac.cpp
182     crypto/mac/CryptoAlgorithmAES_KWMac.cpp
183     crypto/mac/CryptoAlgorithmECDHMac.cpp
184     crypto/mac/CryptoAlgorithmECDSAMac.cpp
185     crypto/mac/CryptoAlgorithmHKDFMac.cpp
186     crypto/mac/CryptoAlgorithmHMACMac.cpp
187     crypto/mac/CryptoAlgorithmPBKDF2Mac.cpp
188     crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp
189     crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp
190     crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp
191     crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp
192     crypto/mac/CryptoAlgorithmRegistryMac.cpp
193     crypto/mac/CryptoKeyECMac.cpp
194     crypto/mac/CryptoKeyMac.cpp
195     crypto/mac/CryptoKeyRSAMac.cpp
196     crypto/mac/SerializedCryptoKeyWrapMac.mm
197
198     dom/DataTransferMac.mm
199     dom/SlotAssignment.cpp
200
201     editing/SelectionRectGatherer.cpp
202     editing/SmartReplaceCF.cpp
203
204     editing/cocoa/DataDetection.mm
205     editing/cocoa/EditorCocoa.mm
206     editing/cocoa/HTMLConverter.mm
207
208     editing/mac/AlternativeTextUIController.mm
209     editing/mac/DictionaryLookup.mm
210     editing/mac/EditorMac.mm
211     editing/mac/FrameSelectionMac.mm
212     editing/mac/TextAlternativeWithRange.mm
213     editing/mac/TextUndoInsertionMarkupMac.mm
214
215     fileapi/FileCocoa.mm
216
217     html/HTMLSlotElement.cpp
218
219     html/shadow/ImageControlsRootElement.cpp
220     html/shadow/YouTubeEmbedShadowElement.cpp
221
222     html/shadow/mac/ImageControlsButtonElementMac.cpp
223     html/shadow/mac/ImageControlsRootElementMac.cpp
224
225     history/mac/HistoryItemMac.mm
226
227     loader/ResourceLoadInfo.cpp
228
229     loader/archive/cf/LegacyWebArchive.cpp
230     loader/archive/cf/LegacyWebArchiveMac.mm
231
232     loader/cocoa/DiskCacheMonitorCocoa.mm
233     loader/cocoa/SubresourceLoaderCocoa.mm
234
235     loader/cf/ResourceLoaderCFNet.cpp
236
237     loader/mac/DocumentLoaderMac.cpp
238     loader/mac/LoaderNSURLExtras.mm
239     loader/mac/ResourceLoaderMac.mm
240
241     page/CaptionUserPreferencesMediaAF.cpp
242     page/PageDebuggable.cpp
243
244     page/cocoa/MemoryReleaseCocoa.mm
245     page/cocoa/PerformanceLoggingCocoa.mm
246     page/cocoa/ResourceUsageOverlayCocoa.mm
247     page/cocoa/ResourceUsageThreadCocoa.mm
248     page/cocoa/SettingsCocoa.mm
249     page/cocoa/UserAgent.mm
250
251     page/mac/ChromeMac.mm
252     page/mac/DragControllerMac.mm
253     page/mac/EventHandlerMac.mm
254     page/mac/PageMac.mm
255     page/mac/ServicesOverlayController.mm
256     page/mac/TextIndicatorWindow.mm
257     page/mac/UserAgentMac.mm
258     page/mac/WheelEventDeltaFilterMac.mm
259
260     page/scrolling/AsyncScrollingCoordinator.cpp
261     page/scrolling/ScrollingMomentumCalculator.cpp
262
263     page/scrolling/cocoa/ScrollingStateNode.mm
264
265     page/scrolling/mac/ScrollingCoordinatorMac.mm
266     page/scrolling/mac/ScrollingMomentumCalculatorMac.mm
267     page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm
268     page/scrolling/mac/ScrollingThreadMac.mm
269     page/scrolling/mac/ScrollingTreeFixedNode.mm
270     page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm
271     page/scrolling/mac/ScrollingTreeMac.cpp
272     page/scrolling/mac/ScrollingTreeStickyNode.mm
273
274     platform/CPUMonitor.cpp
275     platform/LocalizedStrings.cpp
276     platform/ScrollableArea.cpp
277
278     platform/audio/AudioSession.cpp
279
280     platform/audio/cocoa/MediaSessionManagerCocoa.cpp
281
282     platform/audio/mac/CAAudioStreamDescription.cpp
283
284     platform/audio/mac/AudioBusMac.mm
285     platform/audio/mac/AudioDestinationMac.cpp
286     platform/audio/mac/AudioFileReaderMac.cpp
287     platform/audio/mac/AudioHardwareListenerMac.cpp
288     platform/audio/mac/AudioSessionMac.cpp
289     platform/audio/mac/CARingBuffer.cpp
290     platform/audio/mac/FFTFrameMac.cpp
291     platform/audio/mac/MediaSessionManagerMac.mm
292
293     platform/cf/CFURLExtras.cpp
294     platform/cf/CoreMediaSoftLink.cpp
295     platform/cf/FileSystemCF.cpp
296     platform/cf/KeyedDecoderCF.cpp
297     platform/cf/KeyedEncoderCF.cpp
298     platform/cf/MainThreadSharedTimerCF.cpp
299     platform/cf/MediaAccessibilitySoftLink.cpp
300     platform/cf/RunLoopObserver.cpp
301     platform/cf/SharedBufferCF.cpp
302     platform/cf/URLCF.cpp
303
304     platform/cocoa/ContentFilterUnblockHandlerCocoa.mm
305     platform/cocoa/CoreVideoSoftLink.cpp
306     platform/cocoa/FileMonitorCocoa.mm
307     platform/cocoa/FileSystemCocoa.mm
308     platform/cocoa/KeyEventCocoa.mm
309     platform/cocoa/LocalizedStringsCocoa.mm
310     platform/cocoa/MIMETypeRegistryCocoa.mm
311     platform/cocoa/MachSendRight.cpp
312     platform/cocoa/NetworkExtensionContentFilter.mm
313     platform/cocoa/ParentalControlsContentFilter.mm
314     platform/cocoa/RuntimeApplicationChecksCocoa.mm
315     platform/cocoa/ScrollController.mm
316     platform/cocoa/ScrollSnapAnimatorState.mm
317     platform/cocoa/SearchPopupMenuCocoa.mm
318     platform/cocoa/SharedBufferCocoa.mm
319     platform/cocoa/SleepDisablerCocoa.cpp
320     platform/cocoa/SystemVersion.mm
321     platform/cocoa/TelephoneNumberDetectorCocoa.cpp
322     platform/cocoa/ThemeCocoa.mm
323     platform/cocoa/VideoToolboxSoftLink.cpp
324     platform/cocoa/WebCoreNSErrorExtras.mm
325
326     platform/gamepad/mac/HIDGamepad.cpp
327     platform/gamepad/mac/HIDGamepadProvider.cpp
328
329     platform/graphics/DisplayRefreshMonitor.cpp
330     platform/graphics/DisplayRefreshMonitorManager.cpp
331     platform/graphics/FourCC.cpp
332
333     platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm
334     platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm
335     platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm
336     platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp
337     platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp
338     platform/graphics/avfoundation/MediaPlaybackTargetMac.mm
339     platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp
340     platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm
341     platform/graphics/avfoundation/MediaTimeAVFoundation.cpp
342
343     platform/graphics/avfoundation/objc/AVAssetTrackUtilities.mm
344     platform/graphics/avfoundation/objc/AVFoundationMIMETypeCache.mm
345     platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm
346     platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp
347     platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm
348     platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm
349     platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm
350     platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm
351     platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm
352     platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm
353     platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
354     platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm
355     platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm
356     platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm
357     platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm
358     platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp
359     platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm
360     platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm
361
362     platform/graphics/ca/GraphicsLayerCA.cpp
363     platform/graphics/ca/LayerFlushScheduler.cpp
364     platform/graphics/ca/LayerPool.cpp
365     platform/graphics/ca/PlatformCAAnimation.cpp
366     platform/graphics/ca/PlatformCALayer.cpp
367     platform/graphics/ca/TileController.cpp
368     platform/graphics/ca/TileCoverageMap.cpp
369     platform/graphics/ca/TileGrid.cpp
370     platform/graphics/ca/TransformationMatrixCA.cpp
371
372     platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp
373     platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm
374     platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm
375     platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm
376     platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm
377     platform/graphics/ca/cocoa/WebTiledBackingLayer.mm
378
379     platform/graphics/cg/ColorCG.cpp
380     platform/graphics/cg/FloatPointCG.cpp
381     platform/graphics/cg/FloatRectCG.cpp
382     platform/graphics/cg/FloatSizeCG.cpp
383     platform/graphics/cg/GradientCG.cpp
384     platform/graphics/cg/GraphicsContext3DCG.cpp
385     platform/graphics/cg/GraphicsContextCG.cpp
386     platform/graphics/cg/IOSurfacePool.cpp
387     platform/graphics/cg/ImageBufferCG.cpp
388     platform/graphics/cg/ImageBufferDataCG.cpp
389     platform/graphics/cg/ImageCG.cpp
390     platform/graphics/cg/ImageDecoderCG.cpp
391     platform/graphics/cg/ImageSourceCGMac.mm
392     platform/graphics/cg/IntPointCG.cpp
393     platform/graphics/cg/IntRectCG.cpp
394     platform/graphics/cg/IntSizeCG.cpp
395     platform/graphics/cg/NativeImageCG.cpp
396     platform/graphics/cg/PDFDocumentImage.cpp
397     platform/graphics/cg/PathCG.cpp
398     platform/graphics/cg/PatternCG.cpp
399     platform/graphics/cg/SubimageCacheWithTimer.cpp
400     platform/graphics/cg/TransformationMatrixCG.cpp
401     platform/graphics/cg/UTIRegistry.cpp
402
403     platform/graphics/cocoa/GPUBufferMetal.mm
404     platform/graphics/cocoa/GPUCommandBufferMetal.mm
405     platform/graphics/cocoa/GPUCommandQueueMetal.mm
406     platform/graphics/cocoa/GPUComputeCommandEncoderMetal.mm
407     platform/graphics/cocoa/GPUComputePipelineStateMetal.mm
408     platform/graphics/cocoa/GPUDepthStencilDescriptorMetal.mm
409     platform/graphics/cocoa/GPUDepthStencilStateMetal.mm
410     platform/graphics/cocoa/GPUDeviceMetal.mm
411     platform/graphics/cocoa/GPUDrawableMetal.mm
412     platform/graphics/cocoa/GPUFunctionMetal.mm
413     platform/graphics/cocoa/GPULibraryMetal.mm
414     platform/graphics/cocoa/GPURenderCommandEncoderMetal.mm
415     platform/graphics/cocoa/GPURenderPassAttachmentDescriptorMetal.mm
416     platform/graphics/cocoa/GPURenderPassColorAttachmentDescriptorMetal.mm
417     platform/graphics/cocoa/GPURenderPassDepthAttachmentDescriptorMetal.mm
418     platform/graphics/cocoa/GPURenderPassDescriptorMetal.mm
419     platform/graphics/cocoa/GPURenderPipelineColorAttachmentDescriptorMetal.mm
420     platform/graphics/cocoa/GPURenderPipelineDescriptorMetal.mm
421     platform/graphics/cocoa/GPURenderPipelineStateMetal.mm
422     platform/graphics/cocoa/GPUTextureDescriptorMetal.mm
423     platform/graphics/cocoa/GPUTextureMetal.mm
424     platform/graphics/cocoa/GraphicsContext3DCocoa.mm
425     platform/graphics/cocoa/GraphicsContextCocoa.mm
426     platform/graphics/cocoa/FontCacheCoreText.cpp
427     platform/graphics/cocoa/FontCascadeCocoa.mm
428     platform/graphics/cocoa/FontCocoa.mm
429     platform/graphics/cocoa/FontDescriptionCocoa.cpp
430     platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp
431     platform/graphics/cocoa/FontPlatformDataCocoa.mm
432     platform/graphics/cocoa/IOSurface.mm
433     platform/graphics/cocoa/IOSurfacePoolCocoa.mm
434     platform/graphics/cocoa/WebActionDisablingCALayerDelegate.mm
435     platform/graphics/cocoa/WebCoreCALayerExtras.mm
436     platform/graphics/cocoa/WebCoreDecompressionSession.mm
437     platform/graphics/cocoa/WebGLLayer.mm
438     platform/graphics/cocoa/WebGPULayer.mm
439
440     platform/graphics/cv/PixelBufferConformerCV.cpp
441     platform/graphics/cv/TextureCacheCV.mm
442     platform/graphics/cv/VideoTextureCopierCV.cpp
443
444     platform/graphics/gpu/Texture.cpp
445     platform/graphics/gpu/TilingData.cpp
446
447     platform/graphics/mac/ColorMac.mm
448     platform/graphics/mac/ComplexTextControllerCoreText.mm
449     platform/graphics/mac/DisplayRefreshMonitorMac.cpp
450     platform/graphics/mac/FloatPointMac.mm
451     platform/graphics/mac/FloatRectMac.mm
452     platform/graphics/mac/FloatSizeMac.mm
453     platform/graphics/mac/FontCacheMac.mm
454     platform/graphics/mac/FontCustomPlatformData.cpp
455     platform/graphics/mac/GlyphPageMac.cpp
456     platform/graphics/mac/IconMac.mm
457     platform/graphics/mac/ImageMac.mm
458     platform/graphics/mac/IntPointMac.mm
459     platform/graphics/mac/IntRectMac.mm
460     platform/graphics/mac/IntSizeMac.mm
461     platform/graphics/mac/MediaPlayerPrivateQTKit.mm
462     platform/graphics/mac/MediaTimeQTKit.mm
463     platform/graphics/mac/PDFDocumentImageMac.mm
464     platform/graphics/mac/SimpleFontDataCoreText.cpp
465     platform/graphics/mac/WebLayer.mm
466
467     platform/graphics/opengl/Extensions3DOpenGL.cpp
468     platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
469     platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
470     platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
471     platform/graphics/opengl/TemporaryOpenGLSetting.cpp
472
473     platform/graphics/opentype/OpenTypeCG.cpp
474     platform/graphics/opentype/OpenTypeMathData.cpp
475
476     platform/mac/BlacklistUpdater.mm
477     platform/mac/CursorMac.mm
478     platform/mac/DragDataMac.mm
479     platform/mac/DragImageMac.mm
480     platform/mac/EventLoopMac.mm
481     platform/mac/FileSystemMac.mm
482     platform/mac/KeyEventMac.mm
483     platform/mac/LocalCurrentGraphicsContext.mm
484     platform/mac/LoggingMac.mm
485     platform/mac/MediaRemoteSoftLink.cpp
486     platform/mac/NSScrollerImpDetails.mm
487     platform/mac/PasteboardMac.mm
488     platform/mac/PasteboardWriter.mm
489     platform/mac/PlatformClockCA.cpp
490     platform/mac/PlatformClockCM.mm
491     platform/mac/PlatformEventFactoryMac.mm
492     platform/mac/PlatformPasteboardMac.mm
493     platform/mac/PlatformScreenMac.mm
494     platform/mac/PlatformSpeechSynthesizerMac.mm
495     platform/mac/PluginBlacklist.mm
496     platform/mac/PowerObserverMac.cpp
497     platform/mac/PublicSuffixMac.mm
498     platform/mac/RemoteCommandListenerMac.mm
499     platform/mac/SSLKeyGeneratorMac.mm
500     platform/mac/ScrollAnimatorMac.mm
501     platform/mac/ScrollViewMac.mm
502     platform/mac/ScrollbarThemeMac.mm
503     platform/mac/SerializedPlatformRepresentationMac.mm
504     platform/mac/StringUtilities.mm
505     platform/mac/SuddenTermination.mm
506     platform/mac/SystemSleepListenerMac.mm
507     platform/mac/ThemeMac.mm
508     platform/mac/ThreadCheck.mm
509     platform/mac/URLMac.mm
510     platform/mac/UserActivityMac.mm
511     platform/mac/ValidationBubbleMac.mm
512     platform/mac/WebCoreFullScreenPlaceholderView.mm
513     platform/mac/WebCoreFullScreenWarningView.mm
514     platform/mac/WebCoreFullScreenWindow.mm
515     platform/mac/WebCoreNSStringExtras.mm
516     platform/mac/WebCoreNSURLExtras.mm
517     platform/mac/WebCoreObjCExtras.mm
518     platform/mac/WebCoreSystemInterface.mm
519     platform/mac/WebGLBlacklist.mm
520     platform/mac/WebNSAttributedStringExtras.mm
521     platform/mac/WebVideoFullscreenController.mm
522     platform/mac/WebVideoFullscreenHUDWindowController.mm
523     platform/mac/WebWindowAnimation.mm
524     platform/mac/WidgetMac.mm
525
526     platform/mediastream/mac/MockRealtimeVideoSourceMac.mm
527
528     platform/network/cf/AuthenticationCF.cpp
529     platform/network/cf/CookieJarCFNet.cpp
530     platform/network/cf/CookieStorageCFNet.cpp
531     platform/network/cf/CredentialStorageCFNet.cpp
532     platform/network/cf/DNSCFNet.cpp
533     platform/network/cf/FormDataStreamCFNet.cpp
534     platform/network/cf/LoaderRunLoopCF.cpp
535     platform/network/cf/NetworkStorageSessionCFNet.cpp
536     platform/network/cf/ProxyServerCFNet.cpp
537     platform/network/cf/ResourceErrorCF.cpp
538     platform/network/cf/ResourceRequestCFNet.cpp
539     platform/network/cf/ResourceResponseCFNet.cpp
540     platform/network/cf/SocketStreamHandleImplCFNet.cpp
541     platform/network/cf/SynchronousLoaderClientCFNet.cpp
542     platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp
543
544     platform/network/cocoa/CookieCocoa.mm
545     platform/network/cocoa/CookieStorageObserver.mm
546     platform/network/cocoa/CredentialCocoa.mm
547     platform/network/cocoa/NetworkLoadMetrics.mm
548     platform/network/cocoa/NetworkStorageSessionCocoa.mm
549     platform/network/cocoa/ProtectionSpaceCocoa.mm
550     platform/network/cocoa/ResourceRequestCocoa.mm
551     platform/network/cocoa/ResourceResponseCocoa.mm
552     platform/network/cocoa/WebCoreNSURLSession.mm
553
554     platform/network/mac/AuthenticationMac.mm
555     platform/network/mac/BlobDataFileReferenceMac.mm
556     platform/network/mac/CertificateInfoMac.mm
557     platform/network/mac/CookieJarMac.mm
558     platform/network/mac/CookieStorageMac.mm
559     platform/network/mac/CredentialStorageMac.mm
560     platform/network/mac/FormDataStreamMac.mm
561     platform/network/mac/NetworkStateNotifierMac.cpp
562     platform/network/mac/ResourceErrorMac.mm
563     platform/network/mac/ResourceHandleMac.mm
564     platform/network/mac/SynchronousLoaderClient.mm
565     platform/network/mac/UTIUtilities.mm
566     platform/network/mac/WebCoreResourceHandleAsDelegate.mm
567     platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm
568     platform/network/mac/WebCoreURLResponse.mm
569
570     platform/posix/FileSystemPOSIX.cpp
571
572     platform/text/cf/HyphenationCF.cpp
573
574     platform/text/mac/LocaleMac.mm
575     platform/text/mac/TextBoundaries.mm
576     platform/text/mac/TextCodecMac.cpp
577
578     rendering/RenderThemeCocoa.mm
579     rendering/RenderThemeMac.mm
580     rendering/TextAutoSizing.cpp
581 )
582
583 # FIXME: We do not need everything from all of these directories.
584 # Move some to WebCore_FORWARDING_HEADERS_FILES once people start actually maintaining this.
585 set(WebCore_FORWARDING_HEADERS_DIRECTORIES
586     accessibility
587     bridge
588     contentextensions
589     crypto
590     css
591     dom
592     editing
593     fileapi
594     history
595     html
596     inspector
597     loader
598     page
599     platform
600     plugins
601     rendering
602     replay
603     storage
604     style
605     svg
606     workers
607
608     Modules/applepay
609     Modules/geolocation
610     Modules/indexeddb
611     Modules/mediastream
612     Modules/notifications
613     Modules/webdatabase
614     Modules/websockets
615
616     Modules/indexeddb/client
617     Modules/indexeddb/shared
618     Modules/indexeddb/server
619
620     bindings/js
621
622     bridge/objc
623     bridge/jsc
624
625     css/parser
626
627     editing/cocoa
628     editing/mac
629
630     html/canvas
631     html/forms
632     html/parser
633     html/shadow
634
635     loader/appcache
636     loader/archive
637     loader/cache
638     loader/cocoa
639
640     loader/archive/cf
641
642     page/animation
643     page/cocoa
644     page/csp
645     page/mac
646     page/scrolling
647
648     page/scrolling/mac
649
650     platform/animation
651     platform/audio
652     platform/cf
653     platform/cocoa
654     platform/graphics
655     platform/mac
656     platform/mediastream
657     platform/mock
658     platform/network
659     platform/sql
660     platform/text
661
662     platform/audio/cocoa
663
664     platform/gamepad/cocoa
665     platform/gamepad/mac
666
667     platform/graphics/ca
668     platform/graphics/cocoa
669     platform/graphics/cg
670     platform/graphics/filters
671     platform/graphics/opentype
672     platform/graphics/mac
673     platform/graphics/transforms
674
675     platform/graphics/ca/cocoa
676
677     platform/mediastream/libwebrtc
678
679     platform/network/cf
680     platform/network/cocoa
681     platform/network/mac
682
683     platform/spi/cf
684     platform/spi/cg
685     platform/spi/cocoa
686     platform/spi/mac
687
688     rendering/line
689     rendering/style
690
691     svg/graphics
692     svg/properties
693
694     xml
695 )
696
697 set(WebCore_FORWARDING_HEADERS_FILES
698     Modules/webdatabase/DatabaseDetails.h
699
700     bridge/IdentifierRep.h
701     bridge/npruntime_impl.h
702     bridge/npruntime_internal.h
703
704     contentextensions/CompiledContentExtension.h
705
706     editing/EditAction.h
707     editing/EditingBehaviorTypes.h
708     editing/EditingBoundary.h
709     editing/FindOptions.h
710     editing/FrameSelection.h
711     editing/TextAffinity.h
712
713     editing/mac/TextAlternativeWithRange.h
714
715     history/HistoryItem.h
716     history/PageCache.h
717
718     html/HTMLMediaElement.h
719
720     loader/appcache/ApplicationCacheStorage.h
721
722     loader/icon/IconDatabase.h
723     loader/icon/IconDatabaseBase.h
724     loader/icon/IconDatabaseClient.h
725
726     loader/mac/LoaderNSURLExtras.h
727
728     platform/PlatformExportMacros.h
729     platform/SleepDisabler.h
730
731     platform/audio/AudioHardwareListener.h
732
733     platform/cf/RunLoopObserver.h
734
735     platform/cocoa/MachSendRight.h
736     platform/cocoa/SoftLinking.h
737
738     platform/graphics/cocoa/IOSurface.h
739
740     platform/graphics/transforms/AffineTransform.h
741
742     platform/mac/WebCoreSystemInterface.h
743
744     platform/network/cf/CertificateInfo.h
745     platform/network/cf/ResourceResponse.h
746
747     platform/network/mac/AuthenticationMac.h
748
749     platform/sql/SQLiteDatabase.h
750
751     rendering/style/RenderStyleConstants.h
752 )
753
754 list(APPEND WebCore_IDL_FILES
755     Modules/plugins/QuickTimePluginReplacement.idl
756 )
757
758 WEBKIT_CREATE_FORWARDING_HEADERS(WebCore DIRECTORIES ${WebCore_FORWARDING_HEADERS_DIRECTORIES} FILES ${WebCore_FORWARDING_HEADERS_FILES})
759
760 set(FEATURE_DEFINES_OBJECTIVE_C "LANGUAGE_OBJECTIVE_C=1 ${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}")
761 set(ADDITIONAL_BINDINGS_DEPENDENCIES
762     ${WINDOW_CONSTRUCTORS_FILE}
763     ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
764     ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
765 )
766
767 list(APPEND WebCoreTestSupport_LIBRARIES PRIVATE WebCore)
768 list(APPEND WebCoreTestSupport_SOURCES
769     testing/Internals.mm
770     testing/MockContentFilter.cpp
771     testing/MockContentFilterSettings.cpp
772     testing/MockPreviewLoaderClient.cpp
773
774     testing/cocoa/WebArchiveDumpSupport.mm
775 )
776
777 set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-compatibility_version 1 -current_version ${WEBKIT_MAC_VERSION}")