f694f1015d79cc91186e86a97a1ba22fc7a90ea1
[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/AVFoundationMIMETypeCache.mm
365     platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm
366     platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp
367     platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm
368     platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm
369     platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm
370     platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm
371     platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm
372     platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm
373     platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
374     platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm
375     platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm
376     platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm
377     platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp
378     platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm
379     platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm
380
381     platform/graphics/ca/GraphicsLayerCA.cpp
382     platform/graphics/ca/LayerFlushScheduler.cpp
383     platform/graphics/ca/LayerPool.cpp
384     platform/graphics/ca/PlatformCAAnimation.cpp
385     platform/graphics/ca/PlatformCALayer.cpp
386     platform/graphics/ca/TileController.cpp
387     platform/graphics/ca/TileCoverageMap.cpp
388     platform/graphics/ca/TileGrid.cpp
389     platform/graphics/ca/TransformationMatrixCA.cpp
390
391     platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp
392     platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm
393     platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm
394     platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm
395     platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm
396     platform/graphics/ca/cocoa/WebTiledBackingLayer.mm
397
398     platform/graphics/cg/BitmapImageCG.cpp
399     platform/graphics/cg/ColorCG.cpp
400     platform/graphics/cg/FloatPointCG.cpp
401     platform/graphics/cg/FloatRectCG.cpp
402     platform/graphics/cg/FloatSizeCG.cpp
403     platform/graphics/cg/GradientCG.cpp
404     platform/graphics/cg/GraphicsContext3DCG.cpp
405     platform/graphics/cg/GraphicsContextCG.cpp
406     platform/graphics/cg/IOSurfacePool.cpp
407     platform/graphics/cg/ImageBufferCG.cpp
408     platform/graphics/cg/ImageBufferDataCG.cpp
409     platform/graphics/cg/ImageCG.cpp
410     platform/graphics/cg/ImageDecoderCG.cpp
411     platform/graphics/cg/ImageSourceCGMac.mm
412     platform/graphics/cg/IntPointCG.cpp
413     platform/graphics/cg/IntRectCG.cpp
414     platform/graphics/cg/IntSizeCG.cpp
415     platform/graphics/cg/PDFDocumentImage.cpp
416     platform/graphics/cg/PathCG.cpp
417     platform/graphics/cg/PatternCG.cpp
418     platform/graphics/cg/SubimageCacheWithTimer.cpp
419     platform/graphics/cg/TransformationMatrixCG.cpp
420
421     platform/graphics/cocoa/FontCacheCoreText.cpp
422     platform/graphics/cocoa/FontCascadeCocoa.mm
423     platform/graphics/cocoa/FontCocoa.mm
424     platform/graphics/cocoa/FontPlatformDataCocoa.mm
425     platform/graphics/cocoa/IOSurface.mm
426     platform/graphics/cocoa/IOSurfacePoolCocoa.mm
427     platform/graphics/cocoa/WebActionDisablingCALayerDelegate.mm
428     platform/graphics/cocoa/WebCoreCALayerExtras.mm
429
430     platform/graphics/cv/PixelBufferConformerCV.cpp
431     platform/graphics/cv/TextureCacheCV.mm
432     platform/graphics/cv/VideoTextureCopierCV.cpp
433
434     platform/graphics/mac/ColorMac.mm
435     platform/graphics/mac/ComplexTextController.cpp
436     platform/graphics/mac/ComplexTextControllerCoreText.mm
437     platform/graphics/mac/DisplayRefreshMonitorMac.cpp
438     platform/graphics/mac/FloatPointMac.mm
439     platform/graphics/mac/FloatRectMac.mm
440     platform/graphics/mac/FloatSizeMac.mm
441     platform/graphics/mac/FontCacheMac.mm
442     platform/graphics/mac/FontCustomPlatformData.cpp
443     platform/graphics/mac/GlyphPageMac.cpp
444     platform/graphics/mac/GraphicsContext3DMac.mm
445     platform/graphics/mac/GraphicsContextMac.mm
446     platform/graphics/mac/IconMac.mm
447     platform/graphics/mac/ImageMac.mm
448     platform/graphics/mac/IntPointMac.mm
449     platform/graphics/mac/IntRectMac.mm
450     platform/graphics/mac/IntSizeMac.mm
451     platform/graphics/mac/MediaPlayerPrivateQTKit.mm
452     platform/graphics/mac/MediaTimeQTKit.mm
453     platform/graphics/mac/PDFDocumentImageMac.mm
454     platform/graphics/mac/SimpleFontDataCoreText.cpp
455     platform/graphics/mac/WebGLLayer.mm
456     platform/graphics/mac/WebLayer.mm
457
458     platform/graphics/opengl/Extensions3DOpenGL.cpp
459     platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
460     platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
461     platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
462     platform/graphics/opengl/TemporaryOpenGLSetting.cpp
463
464     platform/graphics/opentype/OpenTypeCG.cpp
465     platform/graphics/opentype/OpenTypeMathData.cpp
466
467     platform/mac/CursorMac.mm
468     platform/mac/DragDataMac.mm
469     platform/mac/DragImageMac.mm
470     platform/mac/EventLoopMac.mm
471     platform/mac/FileSystemMac.mm
472     platform/mac/HIDGamepad.cpp
473     platform/mac/HIDGamepadProvider.cpp
474     platform/mac/KeyEventMac.mm
475     platform/mac/KillRingMac.mm
476     platform/mac/LocalCurrentGraphicsContext.mm
477     platform/mac/LoggingMac.mm
478     platform/mac/NSScrollerImpDetails.mm
479     platform/mac/PasteboardMac.mm
480     platform/mac/PlatformClockCA.cpp
481     platform/mac/PlatformClockCM.mm
482     platform/mac/PlatformEventFactoryMac.mm
483     platform/mac/PlatformPasteboardMac.mm
484     platform/mac/PlatformScreenMac.mm
485     platform/mac/PlatformSpeechSynthesizerMac.mm
486     platform/mac/PowerObserverMac.cpp
487     platform/mac/PublicSuffixMac.mm
488     platform/mac/SSLKeyGeneratorMac.cpp
489     platform/mac/ScrollAnimatorMac.mm
490     platform/mac/ScrollViewMac.mm
491     platform/mac/ScrollbarThemeMac.mm
492     platform/mac/SerializedPlatformRepresentationMac.mm
493     platform/mac/SharedBufferMac.mm
494     platform/mac/SoundMac.mm
495     platform/mac/SuddenTermination.mm
496     platform/mac/SystemSleepListenerMac.mm
497     platform/mac/ThemeMac.mm
498     platform/mac/ThreadCheck.mm
499     platform/mac/URLMac.mm
500     platform/mac/UserActivityMac.mm
501     platform/mac/WebCoreFullScreenPlaceholderView.mm
502     platform/mac/WebCoreFullScreenWarningView.mm
503     platform/mac/WebCoreFullScreenWindow.mm
504     platform/mac/WebCoreNSStringExtras.mm
505     platform/mac/WebCoreNSURLExtras.mm
506     platform/mac/WebCoreObjCExtras.mm
507     platform/mac/WebCoreSystemInterface.mm
508     platform/mac/WebNSAttributedStringExtras.mm
509     platform/mac/WebVideoFullscreenController.mm
510     platform/mac/WebVideoFullscreenHUDWindowController.mm
511     platform/mac/WebWindowAnimation.mm
512     platform/mac/WidgetMac.mm
513
514     platform/mediastream/mac/MockRealtimeVideoSourceMac.mm
515
516     platform/network/cf/AuthenticationCF.cpp
517     platform/network/cf/CookieJarCFNet.cpp
518     platform/network/cf/CookieStorageCFNet.cpp
519     platform/network/cf/CredentialStorageCFNet.cpp
520     platform/network/cf/DNSCFNet.cpp
521     platform/network/cf/FormDataStreamCFNet.cpp
522     platform/network/cf/LoaderRunLoopCF.cpp
523     platform/network/cf/NetworkStorageSessionCFNet.cpp
524     platform/network/cf/ProxyServerCFNet.cpp
525     platform/network/cf/ResourceErrorCF.cpp
526     platform/network/cf/ResourceHandleCFNet.cpp
527     platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp
528     platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp
529     platform/network/cf/ResourceRequestCFNet.cpp
530     platform/network/cf/ResourceResponseCFNet.cpp
531     platform/network/cf/SocketStreamHandleCFNet.cpp
532     platform/network/cf/SynchronousLoaderClientCFNet.cpp
533     platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp
534
535     platform/network/cocoa/CredentialCocoa.mm
536     platform/network/cocoa/ProtectionSpaceCocoa.mm
537     platform/network/cocoa/ResourceLoadTiming.mm
538     platform/network/cocoa/ResourceRequestCocoa.mm
539     platform/network/cocoa/ResourceResponseCocoa.mm
540     platform/network/cocoa/WebCoreNSURLSession.mm
541
542     platform/network/mac/AuthenticationMac.mm
543     platform/network/mac/BlobDataFileReferenceMac.mm
544     platform/network/mac/CertificateInfoMac.mm
545     platform/network/mac/CookieJarMac.mm
546     platform/network/mac/CookieStorageMac.mm
547     platform/network/mac/CredentialStorageMac.mm
548     platform/network/mac/FormDataStreamMac.mm
549     platform/network/mac/NetworkStateNotifierMac.cpp
550     platform/network/mac/ResourceErrorMac.mm
551     platform/network/mac/ResourceHandleMac.mm
552     platform/network/mac/ResourceRequestMac.mm
553     platform/network/mac/SynchronousLoaderClient.mm
554     platform/network/mac/UTIUtilities.mm
555     platform/network/mac/WebCoreResourceHandleAsDelegate.mm
556     platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm
557     platform/network/mac/WebCoreURLResponse.mm
558
559     platform/posix/FileSystemPOSIX.cpp
560
561     platform/text/cf/HyphenationCF.cpp
562
563     platform/text/mac/LocaleMac.mm
564     platform/text/mac/TextBoundaries.mm
565     platform/text/mac/TextBreakIteratorInternalICUMac.mm
566     platform/text/mac/TextCodecMac.cpp
567
568     rendering/RenderThemeMac.mm
569     rendering/TextAutoSizing.cpp
570 )
571
572 # FIXME: We do not need everything from all of these directories.
573 # Move some to WebCore_FORWARDING_HEADERS_FILES once people start actually maintaining this.
574 set(WebCore_FORWARDING_HEADERS_DIRECTORIES
575     accessibility
576     bridge
577     contentextensions
578     crypto
579     css
580     dom
581     editing
582     fileapi
583     history
584     html
585     inspector
586     loader
587     page
588     platform
589     plugins
590     rendering
591     replay
592     storage
593     style
594     svg
595
596     Modules/geolocation
597     Modules/indexeddb
598     Modules/notifications
599     Modules/webdatabase
600
601     Modules/indexeddb/client
602     Modules/indexeddb/shared
603     Modules/indexeddb/server
604
605     bindings/generic
606     bindings/js
607     bindings/objc
608
609     bridge/jsc
610
611     editing/cocoa
612     editing/mac
613
614     html/forms
615     html/parser
616     html/shadow
617
618     loader/appcache
619     loader/archive
620     loader/cache
621     loader/cocoa
622
623     loader/archive/cf
624
625     page/animation
626     page/cocoa
627     page/mac
628     page/scrolling
629
630     page/scrolling/mac
631
632     platform/animation
633     platform/audio
634     platform/cf
635     platform/cocoa
636     platform/graphics
637     platform/mac
638     platform/mediastream
639     platform/mock
640     platform/network
641     platform/sql
642     platform/text
643
644     platform/graphics/ca
645     platform/graphics/cocoa
646     platform/graphics/cg
647     platform/graphics/filters
648     platform/graphics/opentype
649     platform/graphics/mac
650     platform/graphics/transforms
651
652     platform/graphics/ca/cocoa
653
654     platform/network/cf
655     platform/network/cocoa
656     platform/network/mac
657
658     platform/spi/cf
659     platform/spi/cg
660     platform/spi/cocoa
661     platform/spi/mac
662
663     rendering/line
664     rendering/style
665
666     svg/graphics
667     svg/properties
668 )
669
670 set(WebCore_FORWARDING_HEADERS_FILES
671     Modules/webdatabase/DatabaseDetails.h
672
673     bridge/IdentifierRep.h
674     bridge/npruntime_impl.h
675     bridge/npruntime_internal.h
676
677     contentextensions/CompiledContentExtension.h
678
679     editing/EditAction.h
680     editing/EditingBehaviorTypes.h
681     editing/EditingBoundary.h
682     editing/FindOptions.h
683     editing/FrameSelection.h
684     editing/TextAffinity.h
685
686     editing/mac/TextAlternativeWithRange.h
687
688     history/BackForwardList.h
689     history/HistoryItem.h
690     history/PageCache.h
691
692     html/HTMLMediaElement.h
693
694     loader/appcache/ApplicationCacheStorage.h
695
696     loader/icon/IconDatabase.h
697     loader/icon/IconDatabaseBase.h
698     loader/icon/IconDatabaseClient.h
699
700     loader/mac/LoaderNSURLExtras.h
701
702     platform/DisplaySleepDisabler.h
703     platform/PlatformExportMacros.h
704
705     platform/audio/AudioHardwareListener.h
706
707     platform/cf/RunLoopObserver.h
708
709     platform/cocoa/MachSendRight.h
710
711     platform/graphics/cocoa/IOSurface.h
712
713     platform/graphics/transforms/AffineTransform.h
714
715     platform/mac/SoftLinking.h
716     platform/mac/WebCoreSystemInterface.h
717
718     platform/network/cf/CertificateInfo.h
719     platform/network/cf/ResourceResponse.h
720
721     platform/network/mac/AuthenticationMac.h
722
723     platform/sql/SQLiteDatabase.h
724
725     rendering/style/RenderStyleConstants.h
726 )
727
728 list(APPEND WebCore_IDL_FILES
729     Modules/plugins/QuickTimePluginReplacement.idl
730 )
731
732 WEBKIT_CREATE_FORWARDING_HEADERS(WebCore DIRECTORIES ${WebCore_FORWARDING_HEADERS_DIRECTORIES} FILES ${WebCore_FORWARDING_HEADERS_FILES})
733
734 set(FEATURE_DEFINES_OBJECTIVE_C "LANGUAGE_OBJECTIVE_C=1 ${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}")
735 set(ADDITIONAL_BINDINGS_DEPENDENCIES
736     ${WINDOW_CONSTRUCTORS_FILE}
737     ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
738     ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
739 )
740
741 set(ObjC_Bindings_IDL_FILES
742     css/CSSCharsetRule.idl
743     css/CSSFontFaceRule.idl
744     css/CSSImportRule.idl
745     css/CSSKeyframeRule.idl
746     css/CSSKeyframesRule.idl
747     css/CSSMediaRule.idl
748     css/CSSPageRule.idl
749     css/CSSPrimitiveValue.idl
750     css/CSSRule.idl
751     css/CSSRuleList.idl
752     css/CSSStyleDeclaration.idl
753     css/CSSStyleRule.idl
754     css/CSSStyleSheet.idl
755     css/CSSSupportsRule.idl
756     css/CSSUnknownRule.idl
757     css/CSSValue.idl
758     css/CSSValueList.idl
759     css/Counter.idl
760     css/MediaList.idl
761     css/RGBColor.idl
762     css/Rect.idl
763     css/StyleSheet.idl
764     css/StyleSheetList.idl
765     css/WebKitCSSFilterValue.idl
766     css/WebKitCSSRegionRule.idl
767     css/WebKitCSSTransformValue.idl
768
769     dom/Attr.idl
770     dom/BeforeLoadEvent.idl
771     dom/CDATASection.idl
772     dom/CharacterData.idl
773     dom/Comment.idl
774     dom/DOMImplementation.idl
775     dom/DOMNamedFlowCollection.idl
776     dom/Document.idl
777     dom/DocumentFragment.idl
778     dom/DocumentType.idl
779     dom/Element.idl
780     dom/Entity.idl
781     dom/EntityReference.idl
782     dom/Event.idl
783     dom/EventListener.idl
784     dom/EventTarget.idl
785     dom/KeyboardEvent.idl
786     dom/MessageEvent.idl
787     dom/MessagePort.idl
788     dom/MouseEvent.idl
789     dom/MutationEvent.idl
790     dom/NamedNodeMap.idl
791     dom/Node.idl
792     dom/NodeFilter.idl
793     dom/NodeIterator.idl
794     dom/NodeList.idl
795     dom/OverflowEvent.idl
796     dom/ProcessingInstruction.idl
797     dom/ProgressEvent.idl
798     dom/Range.idl
799     dom/Text.idl
800     dom/TextEvent.idl
801     dom/TreeWalker.idl
802     dom/UIEvent.idl
803     dom/WebKitNamedFlow.idl
804     dom/WheelEvent.idl
805
806     fileapi/Blob.idl
807     fileapi/File.idl
808     fileapi/FileList.idl
809
810     html/DOMTokenList.idl
811     html/HTMLAnchorElement.idl
812     html/HTMLAppletElement.idl
813     html/HTMLAreaElement.idl
814     html/HTMLBRElement.idl
815     html/HTMLBaseElement.idl
816     html/HTMLBaseFontElement.idl
817     html/HTMLBodyElement.idl
818     html/HTMLButtonElement.idl
819     html/HTMLCanvasElement.idl
820     html/HTMLCollection.idl
821     html/HTMLDListElement.idl
822     html/HTMLDirectoryElement.idl
823     html/HTMLDivElement.idl
824     html/HTMLDocument.idl
825     html/HTMLElement.idl
826     html/HTMLEmbedElement.idl
827     html/HTMLFieldSetElement.idl
828     html/HTMLFontElement.idl
829     html/HTMLFormElement.idl
830     html/HTMLFrameElement.idl
831     html/HTMLFrameSetElement.idl
832     html/HTMLHRElement.idl
833     html/HTMLHeadElement.idl
834     html/HTMLHeadingElement.idl
835     html/HTMLHtmlElement.idl
836     html/HTMLIFrameElement.idl
837     html/HTMLImageElement.idl
838     html/HTMLInputElement.idl
839     html/HTMLLIElement.idl
840     html/HTMLLabelElement.idl
841     html/HTMLLegendElement.idl
842     html/HTMLLinkElement.idl
843     html/HTMLMapElement.idl
844     html/HTMLMarqueeElement.idl
845     html/HTMLMenuElement.idl
846     html/HTMLMediaElement.idl
847     html/HTMLMetaElement.idl
848     html/HTMLModElement.idl
849     html/HTMLOListElement.idl
850     html/HTMLObjectElement.idl
851     html/HTMLOptGroupElement.idl
852     html/HTMLOptionElement.idl
853     html/HTMLOptionsCollection.idl
854     html/HTMLParagraphElement.idl
855     html/HTMLParamElement.idl
856     html/HTMLPreElement.idl
857     html/HTMLQuoteElement.idl
858     html/HTMLScriptElement.idl
859     html/HTMLSelectElement.idl
860     html/HTMLStyleElement.idl
861     html/HTMLTableCaptionElement.idl
862     html/HTMLTableCellElement.idl
863     html/HTMLTableColElement.idl
864     html/HTMLTableElement.idl
865     html/HTMLTableRowElement.idl
866     html/HTMLTableSectionElement.idl
867     html/HTMLTextAreaElement.idl
868     html/HTMLTitleElement.idl
869     html/HTMLUListElement.idl
870     html/HTMLVideoElement.idl
871     html/MediaError.idl
872     html/TimeRanges.idl
873     html/ValidityState.idl
874     page/AbstractView.idl
875
876     xml/XPathExpression.idl
877     xml/XPathNSResolver.idl
878     xml/XPathResult.idl
879 )
880
881 set(ObjC_BINDINGS_NO_MM
882     AbstractView
883     AbstractWorker
884     ChildNode
885     DOMURLMediaSource
886     DOMURLMediaStream
887     DOMWindowIndexedDatabase
888     DOMWindowNotifications
889     DOMWindowSpeechSynthesis
890     DOMWindowWebDatabase
891     EventListener
892     EventTarget
893     GlobalEventHandlers
894     HTMLMediaElementMediaSession
895     HTMLMediaElementMediaStream
896     NavigatorBattery
897     NavigatorContentUtils
898     NavigatorGamepad
899     NavigatorGeolocation
900     NavigatorMediaDevices
901     NavigatorUserMedia
902     NavigatorVibration
903     NodeFilter
904     NonDocumentTypeChildNode
905     NonElementParentNode
906     ParentNode
907     URLUtils
908     WindowEventHandlers
909     WindowOrWorkerGlobalScope
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}")