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