Merge CG ImageSource and non CG ImageSource implementation in one file
[WebKit-https.git] / Source / WebCore / PlatformMac.cmake
1 set(WebCore_LIBRARY_TYPE SHARED)
2
3 if ("${CURRENT_OSX_VERSION}" MATCHES "10.9")
4 set(WEBKITSYSTEMINTERFACE_LIBRARY libWebKitSystemInterfaceMavericks.a)
5 elif ("${CURRENT_OSX_VERSION}" MATCHES "10.10")
6 set(WEBKITSYSTEMINTERFACE_LIBRARY libWebKitSystemInterfaceYosemite.a)
7 else ()
8 set(WEBKITSYSTEMINTERFACE_LIBRARY libWebKitSystemInterfaceElCapitan.a)
9 endif ()
10 link_directories(../../WebKitLibraries)
11
12 find_library(ACCELERATE_LIBRARY accelerate)
13 find_library(AVFOUNDATION_LIBRARY AVFoundation)
14 find_library(AUDIOTOOLBOX_LIBRARY AudioToolbox)
15 find_library(AUDIOUNIT_LIBRARY AudioUnit)
16 find_library(CARBON_LIBRARY Carbon)
17 find_library(COCOA_LIBRARY Cocoa)
18 find_library(COREAUDIO_LIBRARY CoreAudio)
19 find_library(DISKARBITRATION_LIBRARY DiskArbitration)
20 find_library(IOKIT_LIBRARY IOKit)
21 find_library(IOSURFACE_LIBRARY IOSurface)
22 find_library(OPENGL_LIBRARY OpenGL)
23 find_library(QUARTZ_LIBRARY Quartz)
24 find_library(QUARTZCORE_LIBRARY QuartzCore)
25 find_library(SECURITY_LIBRARY Security)
26 find_library(SYSTEMCONFIGURATION_LIBRARY SystemConfiguration)
27 find_library(SQLITE3_LIBRARY sqlite3)
28 find_library(XML2_LIBRARY XML2)
29 find_package(ZLIB REQUIRED)
30
31 list(APPEND WebCore_LIBRARIES
32     ${ACCELERATE_LIBRARY}
33     ${AUDIOTOOLBOX_LIBRARY}
34     ${AUDIOUNIT_LIBRARY}
35     ${AVFOUNDATION_LIBRARY}
36     ${CARBON_LIBRARY}
37     ${COCOA_LIBRARY}
38     ${COREAUDIO_LIBRARY}
39     ${DISKARBITRATION_LIBRARY}
40     ${IOKIT_LIBRARY}
41     ${IOSURFACE_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 ${QUARTZ_LIBRARY}/Frameworks)
54 add_definitions(-iframework ${AVFOUNDATION_LIBRARY}/Versions/Current/Frameworks)
55
56 find_library(DATADETECTORSCORE_FRAMEWORK DataDetectorsCore HINTS /System/Library/PrivateFrameworks)
57 if (NOT DATADETECTORSCORE_FRAMEWORK-NOTFOUND)
58     list(APPEND WebCore_LIBRARIES ${DATADETECTORSCORE_FRAMEWORK})
59 endif ()
60
61 find_library(LOOKUP_FRAMEWORK Lookup HINTS /System/Library/PrivateFrameworks)
62 if (NOT LOOKUP_FRAMEWORK-NOTFOUND)
63     list(APPEND WebCore_LIBRARIES ${LOOKUP_FRAMEWORK})
64 endif ()
65
66 list(APPEND WebCore_INCLUDE_DIRECTORIES
67     "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore"
68     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
69     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector"
70     "${JAVASCRIPTCORE_DIR}/replay"
71     "${THIRDPARTY_DIR}/ANGLE"
72     "${THIRDPARTY_DIR}/ANGLE/include/KHR"
73     "${WEBCORE_DIR}/accessibility/mac"
74     "${WEBCORE_DIR}/bindings/objc"
75     "${WEBCORE_DIR}/bridge/objc"
76     "${WEBCORE_DIR}/editing/cocoa"
77     "${WEBCORE_DIR}/editing/mac"
78     "${WEBCORE_DIR}/ForwardingHeaders"
79     "${WEBCORE_DIR}/ForwardingHeaders/bindings"
80     "${WEBCORE_DIR}/ForwardingHeaders/bytecode"
81     "${WEBCORE_DIR}/ForwardingHeaders/debugger"
82     "${WEBCORE_DIR}/ForwardingHeaders/heap"
83     "${WEBCORE_DIR}/ForwardingHeaders/inspector"
84     "${WEBCORE_DIR}/ForwardingHeaders/interpreter"
85     "${WEBCORE_DIR}/ForwardingHeaders/jit"
86     "${WEBCORE_DIR}/ForwardingHeaders/masm"
87     "${WEBCORE_DIR}/ForwardingHeaders/parser"
88     "${WEBCORE_DIR}/ForwardingHeaders/profiler"
89     "${WEBCORE_DIR}/ForwardingHeaders/replay"
90     "${WEBCORE_DIR}/ForwardingHeaders/runtime"
91     "${WEBCORE_DIR}/ForwardingHeaders/yarr"
92     "${WEBCORE_DIR}/icu"
93     "${WEBCORE_DIR}/loader/archive/cf"
94     "${WEBCORE_DIR}/loader/cf"
95     "${WEBCORE_DIR}/loader/mac"
96     "${WEBCORE_DIR}/page/cocoa"
97     "${WEBCORE_DIR}/page/mac"
98     "${WEBCORE_DIR}/page/scrolling/mac"
99     "${WEBCORE_DIR}/platform/audio/mac"
100     "${WEBCORE_DIR}/platform/cf"
101     "${WEBCORE_DIR}/platform/cocoa"
102     "${WEBCORE_DIR}/platform/graphics/avfoundation"
103     "${WEBCORE_DIR}/platform/graphics/avfoundation/cf"
104     "${WEBCORE_DIR}/platform/graphics/avfoundation/objc"
105     "${WEBCORE_DIR}/platform/graphics/ca"
106     "${WEBCORE_DIR}/platform/graphics/ca/cocoa"
107     "${WEBCORE_DIR}/platform/graphics/cocoa"
108     "${WEBCORE_DIR}/platform/graphics/cg"
109     "${WEBCORE_DIR}/platform/graphics/cv"
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/mac"
118     "${WEBCORE_DIR}/platform/text/cf"
119     "${WEBCORE_DIR}/platform/text/mac"
120     "${WEBCORE_DIR}/platform/spi/cf"
121     "${WEBCORE_DIR}/platform/spi/cg"
122     "${WEBCORE_DIR}/platform/spi/cocoa"
123     "${WEBCORE_DIR}/platform/spi/ios"
124     "${WEBCORE_DIR}/platform/spi/mac"
125     "${WEBCORE_DIR}/plugins/mac"
126     "${WTF_DIR}"
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/indieui/UIRequestEvent.cpp
158
159     Modules/plugins/QuickTimePluginReplacement.mm
160     Modules/plugins/YouTubePluginReplacement.cpp
161
162     accessibility/mac/AXObjectCacheMac.mm
163     accessibility/mac/AccessibilityObjectMac.mm
164     accessibility/mac/WebAccessibilityObjectWrapperBase.mm
165     accessibility/mac/WebAccessibilityObjectWrapperMac.mm
166
167     bindings/js/ScriptControllerMac.mm
168
169     bindings/objc/DOM.mm
170     bindings/objc/DOMAbstractView.mm
171     bindings/objc/DOMCSS.mm
172     bindings/objc/DOMCustomXPathNSResolver.mm
173     bindings/objc/DOMEvents.mm
174     bindings/objc/DOMHTML.mm
175     bindings/objc/DOMInternal.mm
176     bindings/objc/DOMObject.mm
177     bindings/objc/DOMUIKitExtensions.mm
178     bindings/objc/DOMUtility.mm
179     bindings/objc/DOMXPath.mm
180     bindings/objc/ExceptionHandlers.mm
181     bindings/objc/ObjCEventListener.mm
182     bindings/objc/ObjCNodeFilterCondition.mm
183     bindings/objc/WebScriptObject.mm
184
185     bridge/objc/ObjCRuntimeObject.mm
186     bridge/objc/objc_class.mm
187     bridge/objc/objc_instance.mm
188     bridge/objc/objc_runtime.mm
189     bridge/objc/objc_utility.mm
190
191     crypto/CommonCryptoUtilities.cpp
192     crypto/CryptoAlgorithm.cpp
193     crypto/CryptoAlgorithmDescriptionBuilder.cpp
194     crypto/CryptoAlgorithmRegistry.cpp
195     crypto/CryptoKey.cpp
196     crypto/CryptoKeyPair.cpp
197     crypto/SubtleCrypto.cpp
198
199     crypto/algorithms/CryptoAlgorithmAES_CBC.cpp
200     crypto/algorithms/CryptoAlgorithmAES_KW.cpp
201     crypto/algorithms/CryptoAlgorithmHMAC.cpp
202     crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp
203     crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp
204     crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp
205     crypto/algorithms/CryptoAlgorithmSHA1.cpp
206     crypto/algorithms/CryptoAlgorithmSHA224.cpp
207     crypto/algorithms/CryptoAlgorithmSHA256.cpp
208     crypto/algorithms/CryptoAlgorithmSHA384.cpp
209     crypto/algorithms/CryptoAlgorithmSHA512.cpp
210
211     crypto/keys/CryptoKeyAES.cpp
212     crypto/keys/CryptoKeyDataOctetSequence.cpp
213     crypto/keys/CryptoKeyDataRSAComponents.cpp
214     crypto/keys/CryptoKeyHMAC.cpp
215     crypto/keys/CryptoKeySerializationRaw.cpp
216
217     crypto/mac/CryptoAlgorithmAES_CBCMac.cpp
218     crypto/mac/CryptoAlgorithmAES_KWMac.cpp
219     crypto/mac/CryptoAlgorithmHMACMac.cpp
220     crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp
221     crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp
222     crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp
223     crypto/mac/CryptoAlgorithmRegistryMac.cpp
224     crypto/mac/CryptoKeyMac.cpp
225     crypto/mac/CryptoKeyRSAMac.cpp
226     crypto/mac/SerializedCryptoKeyWrapMac.mm
227
228     dom/DataTransferMac.mm
229     dom/SlotAssignment.cpp
230
231     editing/SelectionRectGatherer.cpp
232     editing/SmartReplaceCF.cpp
233
234     editing/cocoa/DataDetection.mm
235     editing/cocoa/EditorCocoa.mm
236     editing/cocoa/HTMLConverter.mm
237
238     editing/mac/AlternativeTextUIController.mm
239     editing/mac/DictionaryLookup.mm
240     editing/mac/EditorMac.mm
241     editing/mac/FrameSelectionMac.mm
242     editing/mac/TextAlternativeWithRange.mm
243     editing/mac/TextUndoInsertionMarkupMac.mm
244
245     fileapi/FileMac.mm
246
247     html/HTMLSlotElement.cpp
248
249     html/shadow/ImageControlsRootElement.cpp
250     html/shadow/YouTubeEmbedShadowElement.cpp
251
252     html/shadow/mac/ImageControlsButtonElementMac.cpp
253     html/shadow/mac/ImageControlsRootElementMac.cpp
254
255     history/mac/HistoryItemMac.mm
256
257     loader/ResourceLoadInfo.cpp
258
259     loader/archive/cf/LegacyWebArchive.cpp
260     loader/archive/cf/LegacyWebArchiveMac.mm
261
262     loader/cocoa/DiskCacheMonitorCocoa.mm
263     loader/cocoa/SubresourceLoaderCocoa.mm
264
265     loader/cf/ResourceLoaderCFNet.cpp
266     loader/cf/SubresourceLoaderCF.cpp
267
268     loader/mac/DocumentLoaderMac.cpp
269     loader/mac/LoaderNSURLExtras.mm
270     loader/mac/ResourceLoaderMac.mm
271
272     page/CaptionUserPreferencesMediaAF.cpp
273     page/PageDebuggable.cpp
274
275     page/cocoa/UserAgent.mm
276     page/cocoa/ResourceUsageOverlayCocoa.mm
277     page/cocoa/ResourceUsageThreadCocoa.mm
278     page/cocoa/SettingsCocoa.mm
279
280     page/mac/ChromeMac.mm
281     page/mac/DragControllerMac.mm
282     page/mac/EventHandlerMac.mm
283     page/mac/PageMac.mm
284     page/mac/ServicesOverlayController.mm
285     page/mac/TextIndicatorWindow.mm
286     page/mac/UserAgentMac.mm
287     page/mac/WheelEventDeltaFilterMac.mm
288
289     page/scrolling/AsyncScrollingCoordinator.cpp
290
291     page/scrolling/cocoa/ScrollingStateNode.mm
292
293     page/scrolling/mac/ScrollingCoordinatorMac.mm
294     page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm
295     page/scrolling/mac/ScrollingThreadMac.mm
296     page/scrolling/mac/ScrollingTreeFixedNode.mm
297     page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm
298     page/scrolling/mac/ScrollingTreeMac.cpp
299     page/scrolling/mac/ScrollingTreeStickyNode.mm
300
301     platform/LocalizedStrings.cpp
302     platform/RuntimeApplicationChecks.mm
303     platform/ScrollableArea.cpp
304     platform/VNodeTracker.cpp
305
306     platform/audio/AudioSession.cpp
307
308     platform/audio/mac/AudioBusMac.mm
309     platform/audio/mac/AudioDestinationMac.cpp
310     platform/audio/mac/AudioFileReaderMac.cpp
311     platform/audio/mac/AudioHardwareListenerMac.cpp
312     platform/audio/mac/AudioSessionMac.cpp
313     platform/audio/mac/CARingBuffer.cpp
314     platform/audio/mac/FFTFrameMac.cpp
315     platform/audio/mac/MediaSessionManagerMac.cpp
316
317     platform/cf/CFURLExtras.cpp
318     platform/cf/CoreMediaSoftLink.cpp
319     platform/cf/FileSystemCF.cpp
320     platform/cf/KeyedDecoderCF.cpp
321     platform/cf/KeyedEncoderCF.cpp
322     platform/cf/MainThreadSharedTimerCF.cpp
323     platform/cf/MediaAccessibilitySoftLink.cpp
324     platform/cf/RunLoopObserver.cpp
325     platform/cf/SharedBufferCF.cpp
326     platform/cf/URLCF.cpp
327
328     platform/cocoa/ContentFilterUnblockHandlerCocoa.mm
329     platform/cocoa/CoreVideoSoftLink.cpp
330     platform/cocoa/DisplaySleepDisablerCocoa.cpp
331     platform/cocoa/KeyEventCocoa.mm
332     platform/cocoa/LocalizedStringsCocoa.mm
333     platform/cocoa/MIMETypeRegistryCocoa.mm
334     platform/cocoa/MachSendRight.cpp
335     platform/cocoa/MemoryPressureHandlerCocoa.mm
336     platform/cocoa/NetworkExtensionContentFilter.mm
337     platform/cocoa/ParentalControlsContentFilter.mm
338     platform/cocoa/ScrollController.mm
339     platform/cocoa/ScrollSnapAnimatorState.mm
340     platform/cocoa/SearchPopupMenuCocoa.mm
341     platform/cocoa/SystemVersion.mm
342     platform/cocoa/TelephoneNumberDetectorCocoa.cpp
343     platform/cocoa/ThemeCocoa.cpp
344     platform/cocoa/VNodeTrackerCocoa.cpp
345     platform/cocoa/WebCoreNSErrorExtras.mm
346
347     platform/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp
348
349     platform/graphics/DisplayRefreshMonitor.cpp
350     platform/graphics/DisplayRefreshMonitorManager.cpp
351     platform/graphics/FontPlatformData.cpp
352
353     platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm
354     platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm
355     platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm
356     platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp
357     platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp
358     platform/graphics/avfoundation/MediaPlaybackTargetMac.mm
359     platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp
360     platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm
361     platform/graphics/avfoundation/MediaTimeAVFoundation.cpp
362
363     platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm
364     platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp
365     platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm
366     platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm
367     platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm
368     platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm
369     platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm
370     platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm
371     platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
372     platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm
373     platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm
374     platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm
375     platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp
376     platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm
377     platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm
378
379     platform/graphics/ca/GraphicsLayerCA.cpp
380     platform/graphics/ca/LayerFlushScheduler.cpp
381     platform/graphics/ca/LayerPool.cpp
382     platform/graphics/ca/PlatformCAAnimation.cpp
383     platform/graphics/ca/PlatformCALayer.cpp
384     platform/graphics/ca/TileController.cpp
385     platform/graphics/ca/TileCoverageMap.cpp
386     platform/graphics/ca/TileGrid.cpp
387     platform/graphics/ca/TransformationMatrixCA.cpp
388
389     platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp
390     platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm
391     platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm
392     platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm
393     platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm
394     platform/graphics/ca/cocoa/WebTiledBackingLayer.mm
395
396     platform/graphics/cg/BitmapImageCG.cpp
397     platform/graphics/cg/ColorCG.cpp
398     platform/graphics/cg/FloatPointCG.cpp
399     platform/graphics/cg/FloatRectCG.cpp
400     platform/graphics/cg/FloatSizeCG.cpp
401     platform/graphics/cg/GradientCG.cpp
402     platform/graphics/cg/GraphicsContext3DCG.cpp
403     platform/graphics/cg/GraphicsContextCG.cpp
404     platform/graphics/cg/IOSurfacePool.cpp
405     platform/graphics/cg/ImageBufferCG.cpp
406     platform/graphics/cg/ImageBufferDataCG.cpp
407     platform/graphics/cg/ImageCG.cpp
408     platform/graphics/cg/ImageDecoderCG.cpp
409     platform/graphics/cg/ImageSourceCGMac.mm
410     platform/graphics/cg/IntPointCG.cpp
411     platform/graphics/cg/IntRectCG.cpp
412     platform/graphics/cg/IntSizeCG.cpp
413     platform/graphics/cg/PDFDocumentImage.cpp
414     platform/graphics/cg/PathCG.cpp
415     platform/graphics/cg/PatternCG.cpp
416     platform/graphics/cg/SubimageCacheWithTimer.cpp
417     platform/graphics/cg/TransformationMatrixCG.cpp
418
419     platform/graphics/cocoa/FontCacheCoreText.cpp
420     platform/graphics/cocoa/FontCascadeCocoa.mm
421     platform/graphics/cocoa/FontCocoa.mm
422     platform/graphics/cocoa/FontPlatformDataCocoa.mm
423     platform/graphics/cocoa/IOSurface.mm
424     platform/graphics/cocoa/IOSurfacePoolCocoa.mm
425     platform/graphics/cocoa/WebActionDisablingCALayerDelegate.mm
426     platform/graphics/cocoa/WebCoreCALayerExtras.mm
427
428     platform/graphics/cv/PixelBufferConformerCV.cpp
429     platform/graphics/cv/TextureCacheCV.mm
430     platform/graphics/cv/VideoTextureCopierCV.cpp
431
432     platform/graphics/mac/ColorMac.mm
433     platform/graphics/mac/ComplexTextController.cpp
434     platform/graphics/mac/ComplexTextControllerCoreText.mm
435     platform/graphics/mac/DisplayRefreshMonitorMac.cpp
436     platform/graphics/mac/FloatPointMac.mm
437     platform/graphics/mac/FloatRectMac.mm
438     platform/graphics/mac/FloatSizeMac.mm
439     platform/graphics/mac/FontCacheMac.mm
440     platform/graphics/mac/FontCustomPlatformData.cpp
441     platform/graphics/mac/GlyphPageMac.cpp
442     platform/graphics/mac/GraphicsContext3DMac.mm
443     platform/graphics/mac/GraphicsContextMac.mm
444     platform/graphics/mac/IconMac.mm
445     platform/graphics/mac/ImageMac.mm
446     platform/graphics/mac/IntPointMac.mm
447     platform/graphics/mac/IntRectMac.mm
448     platform/graphics/mac/IntSizeMac.mm
449     platform/graphics/mac/MediaPlayerPrivateQTKit.mm
450     platform/graphics/mac/MediaTimeQTKit.mm
451     platform/graphics/mac/PDFDocumentImageMac.mm
452     platform/graphics/mac/SimpleFontDataCoreText.cpp
453     platform/graphics/mac/WebGLLayer.mm
454     platform/graphics/mac/WebLayer.mm
455
456     platform/graphics/opengl/Extensions3DOpenGL.cpp
457     platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
458     platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
459     platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
460     platform/graphics/opengl/TemporaryOpenGLSetting.cpp
461
462     platform/graphics/opentype/OpenTypeCG.cpp
463     platform/graphics/opentype/OpenTypeMathData.cpp
464
465     platform/mac/BlockExceptions.mm
466     platform/mac/CursorMac.mm
467     platform/mac/DragDataMac.mm
468     platform/mac/DragImageMac.mm
469     platform/mac/EventLoopMac.mm
470     platform/mac/FileSystemMac.mm
471     platform/mac/HIDGamepad.cpp
472     platform/mac/HIDGamepadProvider.cpp
473     platform/mac/KeyEventMac.mm
474     platform/mac/KillRingMac.mm
475     platform/mac/Language.mm
476     platform/mac/LocalCurrentGraphicsContext.mm
477     platform/mac/LoggingMac.mm
478     platform/mac/NSScrollerImpDetails.mm
479     platform/mac/PasteboardMac.mm
480     platform/mac/PlatformClockCA.cpp
481     platform/mac/PlatformClockCM.mm
482     platform/mac/PlatformEventFactoryMac.mm
483     platform/mac/PlatformPasteboardMac.mm
484     platform/mac/PlatformScreenMac.mm
485     platform/mac/PlatformSpeechSynthesizerMac.mm
486     platform/mac/PowerObserverMac.cpp
487     platform/mac/PublicSuffixMac.mm
488     platform/mac/SSLKeyGeneratorMac.cpp
489     platform/mac/ScrollAnimatorMac.mm
490     platform/mac/ScrollViewMac.mm
491     platform/mac/ScrollableAreaMac.mm
492     platform/mac/ScrollbarThemeMac.mm
493     platform/mac/SerializedPlatformRepresentationMac.mm
494     platform/mac/SharedBufferMac.mm
495     platform/mac/SoundMac.mm
496     platform/mac/SuddenTermination.mm
497     platform/mac/SystemSleepListenerMac.mm
498     platform/mac/ThemeMac.mm
499     platform/mac/ThreadCheck.mm
500     platform/mac/URLMac.mm
501     platform/mac/UserActivityMac.mm
502     platform/mac/WebCoreFullScreenPlaceholderView.mm
503     platform/mac/WebCoreFullScreenWarningView.mm
504     platform/mac/WebCoreFullScreenWindow.mm
505     platform/mac/WebCoreNSStringExtras.mm
506     platform/mac/WebCoreNSURLExtras.mm
507     platform/mac/WebCoreObjCExtras.mm
508     platform/mac/WebCoreSystemInterface.mm
509     platform/mac/WebNSAttributedStringExtras.mm
510     platform/mac/WebVideoFullscreenController.mm
511     platform/mac/WebVideoFullscreenHUDWindowController.mm
512     platform/mac/WebWindowAnimation.mm
513     platform/mac/WidgetMac.mm
514
515     platform/mediastream/mac/MockRealtimeVideoSourceMac.mm
516
517     platform/network/cf/AuthenticationCF.cpp
518     platform/network/cf/CookieJarCFNet.cpp
519     platform/network/cf/CookieStorageCFNet.cpp
520     platform/network/cf/CredentialStorageCFNet.cpp
521     platform/network/cf/DNSCFNet.cpp
522     platform/network/cf/FormDataStreamCFNet.cpp
523     platform/network/cf/LoaderRunLoopCF.cpp
524     platform/network/cf/NetworkStorageSessionCFNet.cpp
525     platform/network/cf/ProxyServerCFNet.cpp
526     platform/network/cf/ResourceErrorCF.cpp
527     platform/network/cf/ResourceHandleCFNet.cpp
528     platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp
529     platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp
530     platform/network/cf/ResourceRequestCFNet.cpp
531     platform/network/cf/ResourceResponseCFNet.cpp
532     platform/network/cf/SocketStreamHandleCFNet.cpp
533     platform/network/cf/SynchronousLoaderClientCFNet.cpp
534     platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp
535
536     platform/network/cocoa/CredentialCocoa.mm
537     platform/network/cocoa/ProtectionSpaceCocoa.mm
538     platform/network/cocoa/ResourceLoadTiming.mm
539     platform/network/cocoa/ResourceRequestCocoa.mm
540     platform/network/cocoa/ResourceResponseCocoa.mm
541     platform/network/cocoa/WebCoreNSURLSession.mm
542
543     platform/network/mac/AuthenticationMac.mm
544     platform/network/mac/BlobDataFileReferenceMac.mm
545     platform/network/mac/CertificateInfoMac.mm
546     platform/network/mac/CookieJarMac.mm
547     platform/network/mac/CookieStorageMac.mm
548     platform/network/mac/CredentialStorageMac.mm
549     platform/network/mac/FormDataStreamMac.mm
550     platform/network/mac/NetworkStateNotifierMac.cpp
551     platform/network/mac/ResourceErrorMac.mm
552     platform/network/mac/ResourceHandleMac.mm
553     platform/network/mac/ResourceRequestMac.mm
554     platform/network/mac/SynchronousLoaderClient.mm
555     platform/network/mac/UTIUtilities.mm
556     platform/network/mac/WebCoreResourceHandleAsDelegate.mm
557     platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm
558     platform/network/mac/WebCoreURLResponse.mm
559
560     platform/posix/FileSystemPOSIX.cpp
561
562     platform/text/cf/HyphenationCF.cpp
563
564     platform/text/mac/LocaleMac.mm
565     platform/text/mac/TextBoundaries.mm
566     platform/text/mac/TextBreakIteratorInternalICUMac.mm
567     platform/text/mac/TextCodecMac.cpp
568
569     rendering/RenderThemeMac.mm
570     rendering/TextAutoSizing.cpp
571 )
572
573 # FIXME: We do not need everything from all of these directories.
574 # Move some to WebCore_FORWARDING_HEADERS_FILES once people start actually maintaining this.
575 set(WebCore_FORWARDING_HEADERS_DIRECTORIES
576     accessibility
577     bridge
578     contentextensions
579     crypto
580     css
581     dom
582     editing
583     fileapi
584     history
585     html
586     inspector
587     loader
588     page
589     platform
590     plugins
591     rendering
592     replay
593     storage
594     style
595     svg
596
597     Modules/geolocation
598     Modules/indexeddb
599     Modules/notifications
600     Modules/webdatabase
601
602     Modules/indexeddb/client
603     Modules/indexeddb/shared
604     Modules/indexeddb/server
605
606     bindings/generic
607     bindings/js
608     bindings/objc
609
610     bridge/jsc
611
612     editing/cocoa
613     editing/mac
614
615     html/forms
616     html/parser
617     html/shadow
618
619     loader/appcache
620     loader/archive
621     loader/cache
622     loader/cocoa
623
624     loader/archive/cf
625
626     page/animation
627     page/cocoa
628     page/mac
629     page/scrolling
630
631     page/scrolling/mac
632
633     platform/animation
634     platform/audio
635     platform/cf
636     platform/cocoa
637     platform/graphics
638     platform/mac
639     platform/mediastream
640     platform/mock
641     platform/network
642     platform/sql
643     platform/text
644
645     platform/graphics/ca
646     platform/graphics/cocoa
647     platform/graphics/cg
648     platform/graphics/filters
649     platform/graphics/opentype
650     platform/graphics/mac
651     platform/graphics/transforms
652
653     platform/graphics/ca/cocoa
654
655     platform/network/cf
656     platform/network/cocoa
657     platform/network/mac
658
659     platform/spi/cf
660     platform/spi/cg
661     platform/spi/cocoa
662     platform/spi/mac
663
664     rendering/line
665     rendering/style
666
667     svg/graphics
668     svg/properties
669 )
670
671 set(WebCore_FORWARDING_HEADERS_FILES
672     Modules/webdatabase/DatabaseDetails.h
673
674     bridge/IdentifierRep.h
675     bridge/npruntime_impl.h
676     bridge/npruntime_internal.h
677
678     contentextensions/CompiledContentExtension.h
679
680     editing/EditAction.h
681     editing/EditingBehaviorTypes.h
682     editing/EditingBoundary.h
683     editing/FindOptions.h
684     editing/FrameSelection.h
685     editing/TextAffinity.h
686
687     editing/mac/TextAlternativeWithRange.h
688
689     history/BackForwardList.h
690     history/HistoryItem.h
691     history/PageCache.h
692
693     html/HTMLMediaElement.h
694
695     loader/appcache/ApplicationCacheStorage.h
696
697     loader/icon/IconDatabase.h
698     loader/icon/IconDatabaseBase.h
699     loader/icon/IconDatabaseClient.h
700
701     loader/mac/LoaderNSURLExtras.h
702
703     platform/DisplaySleepDisabler.h
704     platform/PlatformExportMacros.h
705
706     platform/audio/AudioHardwareListener.h
707
708     platform/cf/RunLoopObserver.h
709
710     platform/cocoa/MachSendRight.h
711
712     platform/graphics/cocoa/IOSurface.h
713
714     platform/graphics/transforms/AffineTransform.h
715
716     platform/mac/SoftLinking.h
717     platform/mac/WebCoreSystemInterface.h
718
719     platform/network/cf/CertificateInfo.h
720     platform/network/cf/ResourceResponse.h
721
722     platform/network/mac/AuthenticationMac.h
723
724     platform/sql/SQLiteDatabase.h
725
726     rendering/style/RenderStyleConstants.h
727 )
728
729 list(APPEND WebCore_IDL_FILES
730     Modules/plugins/QuickTimePluginReplacement.idl
731 )
732
733 WEBKIT_CREATE_FORWARDING_HEADERS(WebCore DIRECTORIES ${WebCore_FORWARDING_HEADERS_DIRECTORIES} FILES ${WebCore_FORWARDING_HEADERS_FILES})
734
735 set(FEATURE_DEFINES_OBJECTIVE_C "LANGUAGE_OBJECTIVE_C=1 ${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}")
736 set(ADDITIONAL_BINDINGS_DEPENDENCIES
737     ${WINDOW_CONSTRUCTORS_FILE}
738     ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
739     ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
740 )
741
742 set(ObjC_Bindings_IDL_FILES
743     css/CSSCharsetRule.idl
744     css/CSSFontFaceRule.idl
745     css/CSSImportRule.idl
746     css/CSSKeyframeRule.idl
747     css/CSSKeyframesRule.idl
748     css/CSSMediaRule.idl
749     css/CSSPageRule.idl
750     css/CSSPrimitiveValue.idl
751     css/CSSRule.idl
752     css/CSSRuleList.idl
753     css/CSSStyleDeclaration.idl
754     css/CSSStyleRule.idl
755     css/CSSStyleSheet.idl
756     css/CSSSupportsRule.idl
757     css/CSSUnknownRule.idl
758     css/CSSValue.idl
759     css/CSSValueList.idl
760     css/Counter.idl
761     css/MediaList.idl
762     css/RGBColor.idl
763     css/Rect.idl
764     css/StyleSheet.idl
765     css/StyleSheetList.idl
766     css/WebKitCSSFilterValue.idl
767     css/WebKitCSSRegionRule.idl
768     css/WebKitCSSTransformValue.idl
769
770     dom/Attr.idl
771     dom/BeforeLoadEvent.idl
772     dom/CDATASection.idl
773     dom/CharacterData.idl
774     dom/Comment.idl
775     dom/DOMImplementation.idl
776     dom/DOMNamedFlowCollection.idl
777     dom/Document.idl
778     dom/DocumentFragment.idl
779     dom/DocumentType.idl
780     dom/Element.idl
781     dom/Entity.idl
782     dom/EntityReference.idl
783     dom/Event.idl
784     dom/EventListener.idl
785     dom/EventTarget.idl
786     dom/KeyboardEvent.idl
787     dom/MessageEvent.idl
788     dom/MessagePort.idl
789     dom/MouseEvent.idl
790     dom/MutationEvent.idl
791     dom/NamedNodeMap.idl
792     dom/Node.idl
793     dom/NodeFilter.idl
794     dom/NodeIterator.idl
795     dom/NodeList.idl
796     dom/OverflowEvent.idl
797     dom/ProcessingInstruction.idl
798     dom/ProgressEvent.idl
799     dom/Range.idl
800     dom/Text.idl
801     dom/TextEvent.idl
802     dom/TreeWalker.idl
803     dom/UIEvent.idl
804     dom/WebKitNamedFlow.idl
805     dom/WheelEvent.idl
806
807     fileapi/Blob.idl
808     fileapi/File.idl
809     fileapi/FileList.idl
810
811     html/DOMTokenList.idl
812     html/HTMLAnchorElement.idl
813     html/HTMLAppletElement.idl
814     html/HTMLAreaElement.idl
815     html/HTMLBRElement.idl
816     html/HTMLBaseElement.idl
817     html/HTMLBaseFontElement.idl
818     html/HTMLBodyElement.idl
819     html/HTMLButtonElement.idl
820     html/HTMLCanvasElement.idl
821     html/HTMLCollection.idl
822     html/HTMLDListElement.idl
823     html/HTMLDirectoryElement.idl
824     html/HTMLDivElement.idl
825     html/HTMLDocument.idl
826     html/HTMLElement.idl
827     html/HTMLEmbedElement.idl
828     html/HTMLFieldSetElement.idl
829     html/HTMLFontElement.idl
830     html/HTMLFormElement.idl
831     html/HTMLFrameElement.idl
832     html/HTMLFrameSetElement.idl
833     html/HTMLHRElement.idl
834     html/HTMLHeadElement.idl
835     html/HTMLHeadingElement.idl
836     html/HTMLHtmlElement.idl
837     html/HTMLIFrameElement.idl
838     html/HTMLImageElement.idl
839     html/HTMLInputElement.idl
840     html/HTMLLIElement.idl
841     html/HTMLLabelElement.idl
842     html/HTMLLegendElement.idl
843     html/HTMLLinkElement.idl
844     html/HTMLMapElement.idl
845     html/HTMLMarqueeElement.idl
846     html/HTMLMenuElement.idl
847     html/HTMLMediaElement.idl
848     html/HTMLMetaElement.idl
849     html/HTMLModElement.idl
850     html/HTMLOListElement.idl
851     html/HTMLObjectElement.idl
852     html/HTMLOptGroupElement.idl
853     html/HTMLOptionElement.idl
854     html/HTMLOptionsCollection.idl
855     html/HTMLParagraphElement.idl
856     html/HTMLParamElement.idl
857     html/HTMLPreElement.idl
858     html/HTMLQuoteElement.idl
859     html/HTMLScriptElement.idl
860     html/HTMLSelectElement.idl
861     html/HTMLStyleElement.idl
862     html/HTMLTableCaptionElement.idl
863     html/HTMLTableCellElement.idl
864     html/HTMLTableColElement.idl
865     html/HTMLTableElement.idl
866     html/HTMLTableRowElement.idl
867     html/HTMLTableSectionElement.idl
868     html/HTMLTextAreaElement.idl
869     html/HTMLTitleElement.idl
870     html/HTMLUListElement.idl
871     html/HTMLVideoElement.idl
872     html/MediaError.idl
873     html/TimeRanges.idl
874     html/ValidityState.idl
875     page/AbstractView.idl
876
877     xml/XPathExpression.idl
878     xml/XPathNSResolver.idl
879     xml/XPathResult.idl
880 )
881
882 set(ObjC_BINDINGS_NO_MM
883     AbstractView
884     AbstractWorker
885     ChildNode
886     DOMURLMediaSource
887     DOMURLMediaStream
888     DOMWindowIndexedDatabase
889     DOMWindowNotifications
890     DOMWindowSpeechSynthesis
891     DOMWindowWebDatabase
892     EventListener
893     EventTarget
894     GlobalEventHandlers
895     HTMLMediaElementMediaSession
896     HTMLMediaElementMediaStream
897     NavigatorBattery
898     NavigatorContentUtils
899     NavigatorGamepad
900     NavigatorGeolocation
901     NavigatorMediaDevices
902     NavigatorUserMedia
903     NavigatorVibration
904     NodeFilter
905     NonDocumentTypeChildNode
906     NonElementParentNode
907     ParentNode
908     URLUtils
909     WindowBase64
910     WindowEventHandlers
911     WindowTimers
912     WorkerGlobalScopeIndexedDatabase
913     WorkerGlobalScopeNotifications
914     XPathNSResolver
915 )
916
917 GENERATE_BINDINGS(WebCore_DERIVED_SOURCES
918     "${ObjC_Bindings_IDL_FILES}"
919     "${WEBCORE_DIR}"
920     "${IDL_INCLUDES}"
921     "${FEATURE_DEFINES_OBJECTIVE_C}"
922     ${DERIVED_SOURCES_WEBCORE_DIR} DOM ObjC mm
923     ${IDL_ATTRIBUTES_FILE}
924     ${SUPPLEMENTAL_DEPENDENCY_FILE}
925     ${ADDITIONAL_BINDINGS_DEPENDENCIES})
926
927 set(WebCoreTestSupport_LIBRARY_TYPE SHARED)
928 list(APPEND WebCoreTestSupport_LIBRARIES PRIVATE WebCore)
929 list(APPEND WebCoreTestSupport_SOURCES
930     bindings/js/JSMockContentFilterSettingsCustom.cpp
931
932     testing/Internals.mm
933     testing/MockContentFilter.cpp
934     testing/MockContentFilterSettings.cpp
935 )
936
937 set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-compatibility_version 1 -current_version ${WEBKIT_MAC_VERSION}")