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