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