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