4159d9a2988b8fd3f2400461a21fe339dfecf8a6
[WebKit-https.git] / Source / WebCore / PlatformMac.cmake
1 set(WebCore_LIBRARY_TYPE SHARED)
2
3 if ("${CURRENT_OSX_VERSION}" MATCHES "10.9")
4 set(WEBKITSYSTEMINTERFACE_LIBRARY libWebKitSystemInterfaceMavericks.a)
5 elif ("${CURRENT_OSX_VERSION}" MATCHES "10.10")
6 set(WEBKITSYSTEMINTERFACE_LIBRARY libWebKitSystemInterfaceYosemite.a)
7 else ()
8 set(WEBKITSYSTEMINTERFACE_LIBRARY libWebKitSystemInterfaceElCapitan.a)
9 endif ()
10 link_directories(../../WebKitLibraries)
11
12 find_library(ACCELERATE_LIBRARY accelerate)
13 find_library(AVFOUNDATION_LIBRARY AVFoundation)
14 find_library(AUDIOTOOLBOX_LIBRARY AudioToolbox)
15 find_library(AUDIOUNIT_LIBRARY AudioUnit)
16 find_library(CARBON_LIBRARY Carbon)
17 find_library(COCOA_LIBRARY Cocoa)
18 find_library(COREAUDIO_LIBRARY CoreAudio)
19 find_library(DISKARBITRATION_LIBRARY DiskArbitration)
20 find_library(IOKIT_LIBRARY IOKit)
21 find_library(IOSURFACE_LIBRARY IOSurface)
22 find_library(OPENGL_LIBRARY OpenGL)
23 find_library(QUARTZ_LIBRARY Quartz)
24 find_library(QUARTZCORE_LIBRARY QuartzCore)
25 find_library(SECURITY_LIBRARY Security)
26 find_library(SYSTEMCONFIGURATION_LIBRARY SystemConfiguration)
27 find_library(SQLITE3_LIBRARY sqlite3)
28 find_library(XML2_LIBRARY XML2)
29 find_package(ZLIB REQUIRED)
30
31 list(APPEND WebCore_LIBRARIES
32     ${ACCELERATE_LIBRARY}
33     ${AUDIOTOOLBOX_LIBRARY}
34     ${AUDIOUNIT_LIBRARY}
35     ${AVFOUNDATION_LIBRARY}
36     ${CARBON_LIBRARY}
37     ${COCOA_LIBRARY}
38     ${COREAUDIO_LIBRARY}
39     ${DISKARBITRATION_LIBRARY}
40     ${IOKIT_LIBRARY}
41     ${IOSURFACE_LIBRARY}
42     ${OPENGL_LIBRARY}
43     ${QUARTZ_LIBRARY}
44     ${QUARTZCORE_LIBRARY}
45     ${SECURITY_LIBRARY}
46     ${SQLITE3_LIBRARY}
47     ${SYSTEMCONFIGURATION_LIBRARY}
48     ${WEBKITSYSTEMINTERFACE_LIBRARY}
49     ${XML2_LIBRARY}
50     ${ZLIB_LIBRARIES}
51 )
52
53 add_definitions(-iframework ${QUARTZ_LIBRARY}/Frameworks)
54 add_definitions(-iframework ${AVFOUNDATION_LIBRARY}/Versions/Current/Frameworks)
55
56 find_library(DATADETECTORSCORE_FRAMEWORK DataDetectorsCore HINTS /System/Library/PrivateFrameworks)
57 if (NOT DATADETECTORSCORE_FRAMEWORK-NOTFOUND)
58     list(APPEND WebCore_LIBRARIES ${DATADETECTORSCORE_FRAMEWORK})
59 endif ()
60
61 find_library(LOOKUP_FRAMEWORK Lookup HINTS /System/Library/PrivateFrameworks)
62 if (NOT LOOKUP_FRAMEWORK-NOTFOUND)
63     list(APPEND WebCore_LIBRARIES ${LOOKUP_FRAMEWORK})
64 endif ()
65
66 list(APPEND WebCore_INCLUDE_DIRECTORIES
67     "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore"
68     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
69     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector"
70     "${JAVASCRIPTCORE_DIR}/replay"
71     "${THIRDPARTY_DIR}/ANGLE"
72     "${THIRDPARTY_DIR}/ANGLE/include/KHR"
73     "${WEBCORE_DIR}/accessibility/mac"
74     "${WEBCORE_DIR}/bindings/objc"
75     "${WEBCORE_DIR}/bridge/objc"
76     "${WEBCORE_DIR}/editing/cocoa"
77     "${WEBCORE_DIR}/editing/mac"
78     "${WEBCORE_DIR}/ForwardingHeaders"
79     "${WEBCORE_DIR}/ForwardingHeaders/bindings"
80     "${WEBCORE_DIR}/ForwardingHeaders/bytecode"
81     "${WEBCORE_DIR}/ForwardingHeaders/debugger"
82     "${WEBCORE_DIR}/ForwardingHeaders/heap"
83     "${WEBCORE_DIR}/ForwardingHeaders/inspector"
84     "${WEBCORE_DIR}/ForwardingHeaders/interpreter"
85     "${WEBCORE_DIR}/ForwardingHeaders/jit"
86     "${WEBCORE_DIR}/ForwardingHeaders/masm"
87     "${WEBCORE_DIR}/ForwardingHeaders/parser"
88     "${WEBCORE_DIR}/ForwardingHeaders/profiler"
89     "${WEBCORE_DIR}/ForwardingHeaders/replay"
90     "${WEBCORE_DIR}/ForwardingHeaders/runtime"
91     "${WEBCORE_DIR}/ForwardingHeaders/yarr"
92     "${WEBCORE_DIR}/icu"
93     "${WEBCORE_DIR}/loader/archive/cf"
94     "${WEBCORE_DIR}/loader/cf"
95     "${WEBCORE_DIR}/loader/mac"
96     "${WEBCORE_DIR}/page/cocoa"
97     "${WEBCORE_DIR}/page/mac"
98     "${WEBCORE_DIR}/page/scrolling/mac"
99     "${WEBCORE_DIR}/platform/audio/mac"
100     "${WEBCORE_DIR}/platform/cf"
101     "${WEBCORE_DIR}/platform/cocoa"
102     "${WEBCORE_DIR}/platform/graphics/avfoundation"
103     "${WEBCORE_DIR}/platform/graphics/avfoundation/cf"
104     "${WEBCORE_DIR}/platform/graphics/avfoundation/objc"
105     "${WEBCORE_DIR}/platform/graphics/ca"
106     "${WEBCORE_DIR}/platform/graphics/ca/cocoa"
107     "${WEBCORE_DIR}/platform/graphics/cocoa"
108     "${WEBCORE_DIR}/platform/graphics/cg"
109     "${WEBCORE_DIR}/platform/graphics/cv"
110     "${WEBCORE_DIR}/platform/graphics/opentype"
111     "${WEBCORE_DIR}/platform/graphics/opengl"
112     "${WEBCORE_DIR}/platform/graphics/mac"
113     "${WEBCORE_DIR}/platform/mac"
114     "${WEBCORE_DIR}/platform/mediastream/mac"
115     "${WEBCORE_DIR}/platform/network/cocoa"
116     "${WEBCORE_DIR}/platform/network/cf"
117     "${WEBCORE_DIR}/platform/network/mac"
118     "${WEBCORE_DIR}/platform/text/cf"
119     "${WEBCORE_DIR}/platform/text/mac"
120     "${WEBCORE_DIR}/platform/spi/cf"
121     "${WEBCORE_DIR}/platform/spi/cg"
122     "${WEBCORE_DIR}/platform/spi/cocoa"
123     "${WEBCORE_DIR}/platform/spi/ios"
124     "${WEBCORE_DIR}/platform/spi/mac"
125     "${WEBCORE_DIR}/plugins/mac"
126     "${WTF_DIR}"
127 )
128
129 list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
130     ${WEBCORE_DIR}/html/shadow/mac/imageControlsMac.css
131     ${WEBCORE_DIR}/Modules/plugins/QuickTimePluginReplacement.css
132 )
133
134 set(WebCore_USER_AGENT_SCRIPTS
135     ${WEBCORE_DIR}/Modules/plugins/QuickTimePluginReplacement.js
136 )
137
138 #FIXME: Use ios-encodings.txt once we get CMake working for iOS.
139 add_custom_command(
140     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CharsetData.cpp
141     MAIN_DEPENDENCY ${WEBCORE_DIR}/platform/text/mac/make-charset-table.pl
142     DEPENDS platform/text/mac/character-sets.txt
143     DEPENDS platform/text/mac/mac-encodings.txt
144     COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/platform/text/mac/make-charset-table.pl ${WEBCORE_DIR}/platform/text/mac/character-sets.txt ${WEBCORE_DIR}/platform/text/mac/mac-encodings.txt kTextEncoding > ${DERIVED_SOURCES_WEBCORE_DIR}/CharsetData.cpp
145     VERBATIM)
146
147 list(APPEND WebCore_DERIVED_SOURCES
148     ${DERIVED_SOURCES_WEBCORE_DIR}/CharsetData.cpp
149 )
150
151 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
152     "${CMAKE_OSX_SYSROOT}/usr/include/libxslt"
153     "${CMAKE_OSX_SYSROOT}/usr/include/libxml2"
154 )
155
156 list(APPEND WebCore_SOURCES
157     Modules/indieui/UIRequestEvent.cpp
158
159     Modules/plugins/QuickTimePluginReplacement.mm
160     Modules/plugins/YouTubePluginReplacement.cpp
161
162     accessibility/mac/AXObjectCacheMac.mm
163     accessibility/mac/AccessibilityObjectMac.mm
164     accessibility/mac/WebAccessibilityObjectWrapperBase.mm
165     accessibility/mac/WebAccessibilityObjectWrapperMac.mm
166
167     bindings/js/ScriptControllerMac.mm
168
169     bindings/objc/DOM.mm
170     bindings/objc/DOMAbstractView.mm
171     bindings/objc/DOMCSS.mm
172     bindings/objc/DOMCustomXPathNSResolver.mm
173     bindings/objc/DOMEvents.mm
174     bindings/objc/DOMHTML.mm
175     bindings/objc/DOMInternal.mm
176     bindings/objc/DOMObject.mm
177     bindings/objc/DOMUIKitExtensions.mm
178     bindings/objc/DOMUtility.mm
179     bindings/objc/DOMXPath.mm
180     bindings/objc/ExceptionHandlers.mm
181     bindings/objc/ObjCEventListener.mm
182     bindings/objc/ObjCNodeFilterCondition.mm
183     bindings/objc/WebScriptObject.mm
184
185     bridge/objc/ObjCRuntimeObject.mm
186     bridge/objc/objc_class.mm
187     bridge/objc/objc_instance.mm
188     bridge/objc/objc_runtime.mm
189     bridge/objc/objc_utility.mm
190
191     crypto/CommonCryptoUtilities.cpp
192     crypto/CryptoAlgorithm.cpp
193     crypto/CryptoAlgorithmDescriptionBuilder.cpp
194     crypto/CryptoAlgorithmRegistry.cpp
195     crypto/CryptoKey.cpp
196     crypto/CryptoKeyPair.cpp
197     crypto/SubtleCrypto.cpp
198
199     crypto/algorithms/CryptoAlgorithmAES_CBC.cpp
200     crypto/algorithms/CryptoAlgorithmAES_KW.cpp
201     crypto/algorithms/CryptoAlgorithmHMAC.cpp
202     crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp
203     crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp
204     crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp
205     crypto/algorithms/CryptoAlgorithmSHA1.cpp
206     crypto/algorithms/CryptoAlgorithmSHA224.cpp
207     crypto/algorithms/CryptoAlgorithmSHA256.cpp
208     crypto/algorithms/CryptoAlgorithmSHA384.cpp
209     crypto/algorithms/CryptoAlgorithmSHA512.cpp
210
211     crypto/keys/CryptoKeyAES.cpp
212     crypto/keys/CryptoKeyDataOctetSequence.cpp
213     crypto/keys/CryptoKeyDataRSAComponents.cpp
214     crypto/keys/CryptoKeyHMAC.cpp
215     crypto/keys/CryptoKeySerializationRaw.cpp
216
217     crypto/mac/CryptoAlgorithmAES_CBCMac.cpp
218     crypto/mac/CryptoAlgorithmAES_KWMac.cpp
219     crypto/mac/CryptoAlgorithmHMACMac.cpp
220     crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp
221     crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp
222     crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp
223     crypto/mac/CryptoAlgorithmRegistryMac.cpp
224     crypto/mac/CryptoKeyMac.cpp
225     crypto/mac/CryptoKeyRSAMac.cpp
226     crypto/mac/SerializedCryptoKeyWrapMac.mm
227
228     dom/DataTransferMac.mm
229     dom/SlotAssignment.cpp
230
231     editing/SelectionRectGatherer.cpp
232     editing/SmartReplaceCF.cpp
233
234     editing/cocoa/DataDetection.mm
235     editing/cocoa/EditorCocoa.mm
236     editing/cocoa/HTMLConverter.mm
237
238     editing/mac/AlternativeTextUIController.mm
239     editing/mac/DictionaryLookup.mm
240     editing/mac/EditorMac.mm
241     editing/mac/FrameSelectionMac.mm
242     editing/mac/TextAlternativeWithRange.mm
243     editing/mac/TextUndoInsertionMarkupMac.mm
244
245     fileapi/FileMac.mm
246
247     html/HTMLSlotElement.cpp
248
249     html/shadow/ImageControlsRootElement.cpp
250     html/shadow/YouTubeEmbedShadowElement.cpp
251
252     html/shadow/mac/ImageControlsButtonElementMac.cpp
253     html/shadow/mac/ImageControlsRootElementMac.cpp
254
255     history/mac/HistoryItemMac.mm
256
257     loader/ResourceLoadInfo.cpp
258
259     loader/archive/cf/LegacyWebArchive.cpp
260     loader/archive/cf/LegacyWebArchiveMac.mm
261
262     loader/cocoa/DiskCacheMonitorCocoa.mm
263     loader/cocoa/SubresourceLoaderCocoa.mm
264
265     loader/cf/ResourceLoaderCFNet.cpp
266     loader/cf/SubresourceLoaderCF.cpp
267
268     loader/mac/DocumentLoaderMac.cpp
269     loader/mac/LoaderNSURLExtras.mm
270     loader/mac/ResourceLoaderMac.mm
271
272     page/CaptionUserPreferencesMediaAF.cpp
273     page/PageDebuggable.cpp
274
275     page/cocoa/UserAgent.mm
276     page/cocoa/ResourceUsageOverlayCocoa.mm
277     page/cocoa/ResourceUsageThreadCocoa.mm
278     page/cocoa/SettingsCocoa.mm
279
280     page/mac/ChromeMac.mm
281     page/mac/DragControllerMac.mm
282     page/mac/EventHandlerMac.mm
283     page/mac/PageMac.mm
284     page/mac/ServicesOverlayController.mm
285     page/mac/TextIndicatorWindow.mm
286     page/mac/UserAgentMac.mm
287     page/mac/WheelEventDeltaFilterMac.mm
288
289     page/scrolling/AsyncScrollingCoordinator.cpp
290
291     page/scrolling/cocoa/ScrollingStateNode.mm
292
293     page/scrolling/mac/ScrollingCoordinatorMac.mm
294     page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm
295     page/scrolling/mac/ScrollingThreadMac.mm
296     page/scrolling/mac/ScrollingTreeFixedNode.mm
297     page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm
298     page/scrolling/mac/ScrollingTreeMac.cpp
299     page/scrolling/mac/ScrollingTreeStickyNode.mm
300
301     platform/LocalizedStrings.cpp
302     platform/RuntimeApplicationChecks.mm
303     platform/ScrollableArea.cpp
304     platform/VNodeTracker.cpp
305
306     platform/audio/AudioSession.cpp
307
308     platform/audio/mac/AudioBusMac.mm
309     platform/audio/mac/AudioDestinationMac.cpp
310     platform/audio/mac/AudioFileReaderMac.cpp
311     platform/audio/mac/AudioHardwareListenerMac.cpp
312     platform/audio/mac/AudioSessionMac.cpp
313     platform/audio/mac/CARingBuffer.cpp
314     platform/audio/mac/FFTFrameMac.cpp
315     platform/audio/mac/MediaSessionManagerMac.cpp
316
317     platform/cf/CFURLExtras.cpp
318     platform/cf/CoreMediaSoftLink.cpp
319     platform/cf/FileSystemCF.cpp
320     platform/cf/KeyedDecoderCF.cpp
321     platform/cf/KeyedEncoderCF.cpp
322     platform/cf/MainThreadSharedTimerCF.cpp
323     platform/cf/MediaAccessibilitySoftLink.cpp
324     platform/cf/RunLoopObserver.cpp
325     platform/cf/SharedBufferCF.cpp
326     platform/cf/URLCF.cpp
327
328     platform/cocoa/ContentFilterUnblockHandlerCocoa.mm
329     platform/cocoa/CoreVideoSoftLink.cpp
330     platform/cocoa/DisplaySleepDisablerCocoa.cpp
331     platform/cocoa/KeyEventCocoa.mm
332     platform/cocoa/LocalizedStringsCocoa.mm
333     platform/cocoa/MIMETypeRegistryCocoa.mm
334     platform/cocoa/MachSendRight.cpp
335     platform/cocoa/MemoryPressureHandlerCocoa.mm
336     platform/cocoa/NetworkExtensionContentFilter.mm
337     platform/cocoa/ParentalControlsContentFilter.mm
338     platform/cocoa/ScrollController.mm
339     platform/cocoa/ScrollSnapAnimatorState.mm
340     platform/cocoa/SearchPopupMenuCocoa.mm
341     platform/cocoa/SystemVersion.mm
342     platform/cocoa/TelephoneNumberDetectorCocoa.cpp
343     platform/cocoa/ThemeCocoa.mm
344     platform/cocoa/VNodeTrackerCocoa.cpp
345     platform/cocoa/WebCoreNSErrorExtras.mm
346
347     platform/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp
348
349     platform/graphics/DisplayRefreshMonitor.cpp
350     platform/graphics/DisplayRefreshMonitorManager.cpp
351
352     platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm
353     platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm
354     platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm
355     platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp
356     platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp
357     platform/graphics/avfoundation/MediaPlaybackTargetMac.mm
358     platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp
359     platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm
360     platform/graphics/avfoundation/MediaTimeAVFoundation.cpp
361
362     platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm
363     platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp
364     platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm
365     platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm
366     platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm
367     platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm
368     platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm
369     platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm
370     platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
371     platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm
372     platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm
373     platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm
374     platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp
375     platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm
376     platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm
377
378     platform/graphics/ca/GraphicsLayerCA.cpp
379     platform/graphics/ca/LayerFlushScheduler.cpp
380     platform/graphics/ca/LayerPool.cpp
381     platform/graphics/ca/PlatformCAAnimation.cpp
382     platform/graphics/ca/PlatformCALayer.cpp
383     platform/graphics/ca/TileController.cpp
384     platform/graphics/ca/TileCoverageMap.cpp
385     platform/graphics/ca/TileGrid.cpp
386     platform/graphics/ca/TransformationMatrixCA.cpp
387
388     platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp
389     platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm
390     platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm
391     platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm
392     platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm
393     platform/graphics/ca/cocoa/WebTiledBackingLayer.mm
394
395     platform/graphics/cg/BitmapImageCG.cpp
396     platform/graphics/cg/ColorCG.cpp
397     platform/graphics/cg/FloatPointCG.cpp
398     platform/graphics/cg/FloatRectCG.cpp
399     platform/graphics/cg/FloatSizeCG.cpp
400     platform/graphics/cg/GradientCG.cpp
401     platform/graphics/cg/GraphicsContext3DCG.cpp
402     platform/graphics/cg/GraphicsContextCG.cpp
403     platform/graphics/cg/IOSurfacePool.cpp
404     platform/graphics/cg/ImageBufferCG.cpp
405     platform/graphics/cg/ImageBufferDataCG.cpp
406     platform/graphics/cg/ImageCG.cpp
407     platform/graphics/cg/ImageDecoderCG.cpp
408     platform/graphics/cg/ImageSourceCGMac.mm
409     platform/graphics/cg/IntPointCG.cpp
410     platform/graphics/cg/IntRectCG.cpp
411     platform/graphics/cg/IntSizeCG.cpp
412     platform/graphics/cg/PDFDocumentImage.cpp
413     platform/graphics/cg/PathCG.cpp
414     platform/graphics/cg/PatternCG.cpp
415     platform/graphics/cg/SubimageCacheWithTimer.cpp
416     platform/graphics/cg/TransformationMatrixCG.cpp
417
418     platform/graphics/cocoa/FontCacheCoreText.cpp
419     platform/graphics/cocoa/FontCascadeCocoa.mm
420     platform/graphics/cocoa/FontCocoa.mm
421     platform/graphics/cocoa/FontPlatformDataCocoa.mm
422     platform/graphics/cocoa/IOSurface.mm
423     platform/graphics/cocoa/IOSurfacePoolCocoa.mm
424     platform/graphics/cocoa/WebActionDisablingCALayerDelegate.mm
425     platform/graphics/cocoa/WebCoreCALayerExtras.mm
426
427     platform/graphics/cv/PixelBufferConformerCV.cpp
428     platform/graphics/cv/TextureCacheCV.mm
429     platform/graphics/cv/VideoTextureCopierCV.cpp
430
431     platform/graphics/mac/ColorMac.mm
432     platform/graphics/mac/ComplexTextController.cpp
433     platform/graphics/mac/ComplexTextControllerCoreText.mm
434     platform/graphics/mac/DisplayRefreshMonitorMac.cpp
435     platform/graphics/mac/FloatPointMac.mm
436     platform/graphics/mac/FloatRectMac.mm
437     platform/graphics/mac/FloatSizeMac.mm
438     platform/graphics/mac/FontCacheMac.mm
439     platform/graphics/mac/FontCustomPlatformData.cpp
440     platform/graphics/mac/GlyphPageMac.cpp
441     platform/graphics/mac/GraphicsContext3DMac.mm
442     platform/graphics/mac/GraphicsContextMac.mm
443     platform/graphics/mac/IconMac.mm
444     platform/graphics/mac/ImageMac.mm
445     platform/graphics/mac/IntPointMac.mm
446     platform/graphics/mac/IntRectMac.mm
447     platform/graphics/mac/IntSizeMac.mm
448     platform/graphics/mac/MediaPlayerPrivateQTKit.mm
449     platform/graphics/mac/MediaTimeQTKit.mm
450     platform/graphics/mac/PDFDocumentImageMac.mm
451     platform/graphics/mac/SimpleFontDataCoreText.cpp
452     platform/graphics/mac/WebGLLayer.mm
453     platform/graphics/mac/WebLayer.mm
454
455     platform/graphics/opengl/Extensions3DOpenGL.cpp
456     platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
457     platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
458     platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
459     platform/graphics/opengl/TemporaryOpenGLSetting.cpp
460
461     platform/graphics/opentype/OpenTypeCG.cpp
462     platform/graphics/opentype/OpenTypeMathData.cpp
463
464     platform/mac/CursorMac.mm
465     platform/mac/DragDataMac.mm
466     platform/mac/DragImageMac.mm
467     platform/mac/EventLoopMac.mm
468     platform/mac/FileSystemMac.mm
469     platform/mac/HIDGamepad.cpp
470     platform/mac/HIDGamepadProvider.cpp
471     platform/mac/KeyEventMac.mm
472     platform/mac/KillRingMac.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/ScrollbarThemeMac.mm
489     platform/mac/SerializedPlatformRepresentationMac.mm
490     platform/mac/SharedBufferMac.mm
491     platform/mac/SoundMac.mm
492     platform/mac/SuddenTermination.mm
493     platform/mac/SystemSleepListenerMac.mm
494     platform/mac/ThemeMac.mm
495     platform/mac/ThreadCheck.mm
496     platform/mac/URLMac.mm
497     platform/mac/UserActivityMac.mm
498     platform/mac/WebCoreFullScreenPlaceholderView.mm
499     platform/mac/WebCoreFullScreenWarningView.mm
500     platform/mac/WebCoreFullScreenWindow.mm
501     platform/mac/WebCoreNSStringExtras.mm
502     platform/mac/WebCoreNSURLExtras.mm
503     platform/mac/WebCoreObjCExtras.mm
504     platform/mac/WebCoreSystemInterface.mm
505     platform/mac/WebNSAttributedStringExtras.mm
506     platform/mac/WebVideoFullscreenController.mm
507     platform/mac/WebVideoFullscreenHUDWindowController.mm
508     platform/mac/WebWindowAnimation.mm
509     platform/mac/WidgetMac.mm
510
511     platform/mediastream/mac/MockRealtimeVideoSourceMac.mm
512
513     platform/network/cf/AuthenticationCF.cpp
514     platform/network/cf/CookieJarCFNet.cpp
515     platform/network/cf/CookieStorageCFNet.cpp
516     platform/network/cf/CredentialStorageCFNet.cpp
517     platform/network/cf/DNSCFNet.cpp
518     platform/network/cf/FormDataStreamCFNet.cpp
519     platform/network/cf/LoaderRunLoopCF.cpp
520     platform/network/cf/NetworkStorageSessionCFNet.cpp
521     platform/network/cf/ProxyServerCFNet.cpp
522     platform/network/cf/ResourceErrorCF.cpp
523     platform/network/cf/ResourceHandleCFNet.cpp
524     platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp
525     platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp
526     platform/network/cf/ResourceRequestCFNet.cpp
527     platform/network/cf/ResourceResponseCFNet.cpp
528     platform/network/cf/SocketStreamHandleCFNet.cpp
529     platform/network/cf/SynchronousLoaderClientCFNet.cpp
530     platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp
531
532     platform/network/cocoa/CredentialCocoa.mm
533     platform/network/cocoa/ProtectionSpaceCocoa.mm
534     platform/network/cocoa/ResourceLoadTiming.mm
535     platform/network/cocoa/ResourceRequestCocoa.mm
536     platform/network/cocoa/ResourceResponseCocoa.mm
537     platform/network/cocoa/WebCoreNSURLSession.mm
538
539     platform/network/mac/AuthenticationMac.mm
540     platform/network/mac/BlobDataFileReferenceMac.mm
541     platform/network/mac/CertificateInfoMac.mm
542     platform/network/mac/CookieJarMac.mm
543     platform/network/mac/CookieStorageMac.mm
544     platform/network/mac/CredentialStorageMac.mm
545     platform/network/mac/FormDataStreamMac.mm
546     platform/network/mac/NetworkStateNotifierMac.cpp
547     platform/network/mac/ResourceErrorMac.mm
548     platform/network/mac/ResourceHandleMac.mm
549     platform/network/mac/ResourceRequestMac.mm
550     platform/network/mac/SynchronousLoaderClient.mm
551     platform/network/mac/UTIUtilities.mm
552     platform/network/mac/WebCoreResourceHandleAsDelegate.mm
553     platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm
554     platform/network/mac/WebCoreURLResponse.mm
555
556     platform/posix/FileSystemPOSIX.cpp
557
558     platform/text/cf/HyphenationCF.cpp
559
560     platform/text/mac/LocaleMac.mm
561     platform/text/mac/TextBoundaries.mm
562     platform/text/mac/TextBreakIteratorInternalICUMac.mm
563     platform/text/mac/TextCodecMac.cpp
564
565     rendering/RenderThemeMac.mm
566     rendering/TextAutoSizing.cpp
567 )
568
569 # FIXME: We do not need everything from all of these directories.
570 # Move some to WebCore_FORWARDING_HEADERS_FILES once people start actually maintaining this.
571 set(WebCore_FORWARDING_HEADERS_DIRECTORIES
572     accessibility
573     bridge
574     contentextensions
575     crypto
576     css
577     dom
578     editing
579     fileapi
580     history
581     html
582     inspector
583     loader
584     page
585     platform
586     plugins
587     rendering
588     replay
589     storage
590     style
591     svg
592
593     Modules/geolocation
594     Modules/indexeddb
595     Modules/notifications
596     Modules/webdatabase
597
598     Modules/indexeddb/client
599     Modules/indexeddb/shared
600     Modules/indexeddb/server
601
602     bindings/generic
603     bindings/js
604     bindings/objc
605
606     bridge/jsc
607
608     editing/cocoa
609     editing/mac
610
611     html/forms
612     html/parser
613     html/shadow
614
615     loader/appcache
616     loader/archive
617     loader/cache
618     loader/cocoa
619
620     loader/archive/cf
621
622     page/animation
623     page/cocoa
624     page/mac
625     page/scrolling
626
627     page/scrolling/mac
628
629     platform/animation
630     platform/audio
631     platform/cf
632     platform/cocoa
633     platform/graphics
634     platform/mac
635     platform/mediastream
636     platform/mock
637     platform/network
638     platform/sql
639     platform/text
640
641     platform/graphics/ca
642     platform/graphics/cocoa
643     platform/graphics/cg
644     platform/graphics/filters
645     platform/graphics/opentype
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_DERIVED_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})
922
923 set(WebCoreTestSupport_LIBRARY_TYPE SHARED)
924 list(APPEND WebCoreTestSupport_LIBRARIES PRIVATE WebCore)
925 list(APPEND WebCoreTestSupport_SOURCES
926     bindings/js/JSMockContentFilterSettingsCustom.cpp
927
928     testing/Internals.mm
929     testing/MockContentFilter.cpp
930     testing/MockContentFilterSettings.cpp
931 )
932
933 set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-compatibility_version 1 -current_version ${WEBKIT_MAC_VERSION}")