Progress towards a functioning CMake build on Mac
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 2 Oct 2019 03:12:49 +0000 (03:12 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 2 Oct 2019 03:12:49 +0000 (03:12 +0000)
https://bugs.webkit.org/show_bug.cgi?id=202443

Rubber-stamped by Tim Horton.

Source/WebCore:

* testing/Internals.mm:

Source/WebCore/PAL:

* pal/PlatformMac.cmake:

Source/WebKit:

* CMakeLists.txt:
* PlatformMac.cmake:

Tools:

* DumpRenderTree/PlatformMac.cmake:
* MiniBrowser/mac/CMakeLists.txt:
* TestRunnerShared/cocoa/ClassMethodSwizzler.mm:
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformMac.cmake:
* WebKitTestRunner/PlatformMac.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250591 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 files changed:
Source/WebCore/ChangeLog
Source/WebCore/PAL/ChangeLog
Source/WebCore/PAL/pal/PlatformMac.cmake
Source/WebCore/testing/Internals.mm
Source/WebKit/CMakeLists.txt
Source/WebKit/ChangeLog
Source/WebKit/PlatformMac.cmake
Tools/ChangeLog
Tools/DumpRenderTree/PlatformMac.cmake
Tools/MiniBrowser/mac/CMakeLists.txt
Tools/TestRunnerShared/cocoa/ClassMethodSwizzler.mm
Tools/TestWebKitAPI/CMakeLists.txt
Tools/TestWebKitAPI/PlatformMac.cmake
Tools/WebKitTestRunner/PlatformMac.cmake

index dc57496..1d6cd2f 100644 (file)
@@ -1,3 +1,12 @@
+2019-10-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards a functioning CMake build on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=202443
+
+        Rubber-stamped by Tim Horton.
+
+        * testing/Internals.mm:
+
 2019-10-01  John Wilander  <wilander@apple.com>
 
         Storage Access API: document.hasStorageAccess() should return true when the cookie policy allows access
index d5c7486..424196b 100644 (file)
@@ -1,5 +1,14 @@
 2019-10-01  Alex Christensen  <achristensen@webkit.org>
 
+        Progress towards a functioning CMake build on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=202443
+
+        Rubber-stamped by Tim Horton.
+
+        * pal/PlatformMac.cmake:
+
+2019-10-01  Alex Christensen  <achristensen@webkit.org>
+
         Progress towards successful CMake build on Mac
         https://bugs.webkit.org/show_bug.cgi?id=202426
 
index 029514e..6a51250 100644 (file)
@@ -27,6 +27,7 @@ list(APPEND PAL_PUBLIC_HEADERS
     spi/cocoa/CommonCryptoSPI.h
     spi/cocoa/CoreTextSPI.h
     spi/cocoa/DataDetectorsCoreSPI.h
+    spi/cocoa/IOKitSPI.h
     spi/cocoa/IOPMLibSPI.h
     spi/cocoa/IOPSLibSPI.h
     spi/cocoa/IOReturnSPI.h
index c073311..b8e1a84 100644 (file)
 #import "MediaPlayerPrivate.h"
 #import "Range.h"
 #import <AVFoundation/AVPlayer.h>
-#import <pal/ios/UIKitSoftLink.h>
 #import <wtf/cocoa/NSURLExtras.h>
 
+#if PLATFORM(IOS_FAMILY)
+#import <pal/ios/UIKitSoftLink.h>
+#endif
+
 namespace WebCore {
 
 String Internals::userVisibleString(const DOMURL& url)
index 9e3eccd..f7cd18b 100644 (file)
@@ -216,7 +216,11 @@ if (${WebCore_LIBRARY_TYPE} STREQUAL STATIC)
     )
 else ()
     # All users of WebKit need to link WebCore if WebCore is a shared library.
-    set(WebKit_LIBRARIES PUBLIC WebCore)
+    if (APPLE)
+        set(WebKit_LIBRARIES PRIVATE WebCore)
+    else ()
+        set(WebKit_LIBRARIES PUBLIC WebCore)
+    endif ()
 endif ()
 
 set(WebProcess_LIBRARIES
@@ -422,6 +426,7 @@ ADD_WEBKIT_PREFIX_HEADER(WebKit)
 add_executable(WebProcess ${WebProcess_SOURCES})
 ADD_WEBKIT_PREFIX_HEADER(WebProcess)
 target_link_libraries(WebProcess ${WebProcess_LIBRARIES})
+target_include_directories(WebProcess PRIVATE ${WebProcess_INCLUDE_DIRECTORIES})
 
 if (WebKit_WebProcess_OUTPUT_NAME)
     set_target_properties(WebProcess PROPERTIES OUTPUT_NAME ${WebKit_WebProcess_OUTPUT_NAME})
@@ -430,6 +435,7 @@ endif ()
 add_executable(NetworkProcess ${NetworkProcess_SOURCES})
 ADD_WEBKIT_PREFIX_HEADER(NetworkProcess)
 target_link_libraries(NetworkProcess ${NetworkProcess_LIBRARIES})
+target_include_directories(NetworkProcess PRIVATE ${NetworkProcess_INCLUDE_DIRECTORIES})
 
 if (WebKit_NetworkProcess_OUTPUT_NAME)
     set_target_properties(NetworkProcess PROPERTIES OUTPUT_NAME ${WebKit_NetworkProcess_OUTPUT_NAME})
@@ -447,6 +453,7 @@ if (ENABLE_PLUGIN_PROCESS AND NOT "${PORT}" STREQUAL "Mac")
     add_executable(PluginProcess ${PluginProcess_SOURCES})
     ADD_WEBKIT_PREFIX_HEADER(PluginProcess)
     target_link_libraries(PluginProcess ${PluginProcess_LIBRARIES})
+    target_include_directories(PluginProcess PRIVATE ${PluginProcess_INCLUDE_DIRECTORIES})
     install(TARGETS PluginProcess DESTINATION "${LIBEXEC_INSTALL_DIR}")
 
     if (COMPILER_IS_GCC_OR_CLANG)
index 166958e..77094bc 100644 (file)
@@ -1,3 +1,13 @@
+2019-10-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards a functioning CMake build on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=202443
+
+        Rubber-stamped by Tim Horton.
+
+        * CMakeLists.txt:
+        * PlatformMac.cmake:
+
 2019-10-01  John Wilander  <wilander@apple.com>
 
         Storage Access API: document.hasStorageAccess() should return true when the cookie policy allows access
index 4bde0cd..4a85ff3 100644 (file)
@@ -23,370 +23,19 @@ list(APPEND WebKit_UNIFIED_SOURCE_LIST_FILES
 )
 
 list(APPEND WebKit_SOURCES
-    NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp
-    NetworkProcess/Classifier/WebResourceLoadStatisticsTelemetry.cpp
-
     NetworkProcess/cocoa/WebSocketTaskCocoa.mm
 
-    NetworkProcess/Cookies/mac/WebCookieManagerMac.mm
-
-    NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.cpp
-
-    NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm
-
-    NetworkProcess/Downloads/PendingDownload.cpp
-
-    NetworkProcess/Downloads/cocoa/DownloadCocoa.mm
     NetworkProcess/Downloads/cocoa/WKDownloadProgress.mm
 
-    NetworkProcess/WebStorage/StorageManager.cpp
+    Shared/API/Cocoa/WKMain.mm
 
-    NetworkProcess/cache/NetworkCacheDataCocoa.mm
-    NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm
-
-    NetworkProcess/cocoa/NetworkDataTaskCocoa.mm
-    NetworkProcess/cocoa/NetworkProcessCocoa.mm
-    NetworkProcess/cocoa/NetworkSessionCocoa.mm
-
-    NetworkProcess/mac/NetworkProcessMac.mm
-    NetworkProcess/mac/RemoteNetworkingContext.mm
-
-    Platform/IPC/cocoa/ConnectionCocoa.mm
-    Platform/IPC/cocoa/MachMessage.cpp
-
-    Platform/cf/ModuleCF.cpp
-
-    Platform/cg/CGUtilities.cpp
-
-    Platform/cocoa/WKCrashReporter.mm
-
-    Platform/classifier/ResourceLoadStatisticsClassifier.cpp
-
-    Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp
-
-    Platform/foundation/LoggingFoundation.mm
-
-    Platform/cocoa/SharedMemoryCocoa.cpp
-
-    Platform/mac/LayerHostingContext.mm
-    Platform/mac/MachUtilities.cpp
-    Platform/mac/MenuUtilities.mm
-    Platform/mac/StringUtilities.mm
-
-    Platform/unix/EnvironmentUtilities.cpp
-
-    PluginProcess/mac/PluginControllerProxyMac.mm
-    PluginProcess/mac/PluginProcessMac.mm
-    PluginProcess/mac/PluginProcessShim.mm
-
-    Shared/APIWebArchive.mm
-    Shared/APIWebArchiveResource.mm
-
-    Shared/API/Cocoa/RemoteObjectInvocation.mm
-    Shared/API/Cocoa/RemoteObjectRegistry.mm
-    Shared/API/Cocoa/WKBrowsingContextHandle.mm
-    Shared/API/Cocoa/WKRemoteObject.mm
-    Shared/API/Cocoa/WKRemoteObjectCoder.mm
-    Shared/API/Cocoa/WebKit.m
-    Shared/API/Cocoa/_WKFrameHandle.mm
-    Shared/API/Cocoa/_WKHitTestResult.mm
-    Shared/API/Cocoa/_WKNSFileManagerExtras.mm
-    Shared/API/Cocoa/_WKRemoteObjectInterface.mm
-    Shared/API/Cocoa/_WKRemoteObjectRegistry.mm
-
-    Shared/API/c/cf/WKErrorCF.cpp
-    Shared/API/c/cf/WKStringCF.mm
-    Shared/API/c/cf/WKURLCF.mm
-
-    Shared/API/c/cg/WKImageCG.cpp
-
-    Shared/API/c/mac/WKCertificateInfoMac.mm
-    Shared/API/c/mac/WKObjCTypeWrapperRef.mm
-    Shared/API/c/mac/WKURLRequestNS.mm
-    Shared/API/c/mac/WKURLResponseNS.mm
-    Shared/API/c/mac/WKWebArchive.cpp
-    Shared/API/c/mac/WKWebArchiveResource.cpp
-
-    Shared/Cocoa/APIDataCocoa.mm
-    Shared/Cocoa/APIObject.mm
-    Shared/Cocoa/AuxiliaryProcessCocoa.mm
-    Shared/Cocoa/CompletionHandlerCallChecker.mm
-    Shared/Cocoa/DataDetectionResult.mm
-    Shared/Cocoa/LoadParametersCocoa.mm
-    Shared/Cocoa/SandboxExtensionCocoa.mm
-    Shared/Cocoa/WKNSArray.mm
-    Shared/Cocoa/WKNSData.mm
-    Shared/Cocoa/WKNSDictionary.mm
-    Shared/Cocoa/WKNSError.mm
-    Shared/Cocoa/WKNSNumber.mm
-    Shared/Cocoa/WKNSString.mm
-    Shared/Cocoa/WKNSURL.mm
-    Shared/Cocoa/WKNSURLExtras.mm
-    Shared/Cocoa/WKNSURLRequest.mm
-    Shared/Cocoa/WKObject.mm
-    Shared/Cocoa/WebErrorsCocoa.mm
-    Shared/Cocoa/WebKit2InitializeCocoa.mm
-
-    Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm
-    Shared/Plugins/Netscape/mac/PluginInformationMac.mm
-
-    Shared/Plugins/mac/PluginSandboxProfile.mm
-
-    Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
-    Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm
-    Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm
-    Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm
-    Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp
-
-    Shared/cf/ArgumentCodersCF.cpp
-    Shared/cf/CookieStorageUtilsCF.mm
-
-    Shared/cg/ShareableBitmapCG.cpp
-
-    Shared/mac/AttributedString.mm
-    Shared/mac/AuxiliaryProcessMac.mm
-    Shared/mac/CodeSigning.mm
-    Shared/mac/ColorSpaceData.mm
-    Shared/mac/HangDetectionDisablerMac.mm
-    Shared/mac/NativeWebGestureEventMac.mm
-    Shared/mac/NativeWebKeyboardEventMac.mm
-    Shared/mac/NativeWebMouseEventMac.mm
-    Shared/mac/NativeWebWheelEventMac.mm
-    Shared/mac/ObjCObjectGraph.mm
-    Shared/mac/PDFKitImports.mm
-    Shared/mac/PasteboardTypes.mm
-    Shared/mac/PrintInfoMac.mm
-    Shared/mac/SecItemRequestData.cpp
-    Shared/mac/SecItemResponseData.cpp
-    Shared/mac/SecItemShim.cpp
-    Shared/mac/WebCoreArgumentCodersMac.mm
-    Shared/mac/WebEventFactory.mm
-    Shared/mac/WebGestureEvent.cpp
-    Shared/mac/WebHitTestResultData.mm
-    Shared/mac/WebMemorySampler.mac.mm
-
-    UIProcess/HighPerformanceGraphicsUsageSampler.cpp
-    UIProcess/PerActivityStateCPUUsageSampler.cpp
-    UIProcess/ViewGestureController.cpp
-    UIProcess/ViewSnapshotStore.cpp
-
-    UIProcess/Automation/WebAutomationSession.cpp
-
-    UIProcess/Automation/cocoa/WebAutomationSessionCocoa.mm
-
-    UIProcess/Automation/mac/WebAutomationSessionMac.mm
-
-    UIProcess/API/APIUserScript.cpp
-    UIProcess/API/APIUserStyleSheet.cpp
-    UIProcess/API/APIWebsiteDataRecord.cpp
-
-    UIProcess/API/C/mac/WKContextPrivateMac.mm
-    UIProcess/API/C/mac/WKPagePrivateMac.mm
-
-    UIProcess/API/Cocoa/APIContentRuleListStoreCocoa.mm
-    UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm
-    UIProcess/API/Cocoa/LegacyBundleForClass.mm
-    UIProcess/API/Cocoa/WKBackForwardList.mm
-    UIProcess/API/Cocoa/WKBackForwardListItem.mm
-    UIProcess/API/Cocoa/WKBrowsingContextController.mm
-    UIProcess/API/Cocoa/WKBrowsingContextGroup.mm
-    UIProcess/API/Cocoa/WKConnection.mm
-    UIProcess/API/Cocoa/WKContentRuleList.mm
-    UIProcess/API/Cocoa/WKContentRuleListStore.mm
-    UIProcess/API/Cocoa/WKError.mm
-    UIProcess/API/Cocoa/WKFrameInfo.mm
-    UIProcess/API/Cocoa/WKHTTPCookieStore.mm
-    UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm
-    UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm
-    UIProcess/API/Cocoa/WKNavigation.mm
-    UIProcess/API/Cocoa/WKNavigationAction.mm
-    UIProcess/API/Cocoa/WKNavigationData.mm
-    UIProcess/API/Cocoa/WKNavigationResponse.mm
-    UIProcess/API/Cocoa/WKOpenPanelParameters.mm
-    UIProcess/API/Cocoa/WKPreferences.mm
-    UIProcess/API/Cocoa/WKPreviewActionItem.mm
-    UIProcess/API/Cocoa/WKPreviewActionItemIdentifiers.mm
-    UIProcess/API/Cocoa/WKPreviewElementInfo.mm
-    UIProcess/API/Cocoa/WKProcessGroup.mm
-    UIProcess/API/Cocoa/WKProcessPool.mm
-    UIProcess/API/Cocoa/WKScriptMessage.mm
-    UIProcess/API/Cocoa/WKSecurityOrigin.mm
-    UIProcess/API/Cocoa/WKTypeRefWrapper.mm
-    UIProcess/API/Cocoa/WKURLSchemeTask.mm
-    UIProcess/API/Cocoa/WKUserContentController.mm
-    UIProcess/API/Cocoa/WKUserScript.mm
-    UIProcess/API/Cocoa/WKWebView.mm
-    UIProcess/API/Cocoa/WKWebViewConfiguration.mm
-    UIProcess/API/Cocoa/WKWebsiteDataRecord.mm
-    UIProcess/API/Cocoa/WKWebsiteDataStore.mm
-    UIProcess/API/Cocoa/WKWindowFeatures.mm
-    UIProcess/API/Cocoa/_WKActivatedElementInfo.mm
-    UIProcess/API/Cocoa/_WKApplicationManifest.mm
-    UIProcess/API/Cocoa/_WKAttachment.mm
-    UIProcess/API/Cocoa/_WKAutomationSession.mm
-    UIProcess/API/Cocoa/_WKAutomationSessionConfiguration.mm
-    UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm
-    UIProcess/API/Cocoa/_WKDownload.mm
-    UIProcess/API/Cocoa/_WKElementAction.mm
-    UIProcess/API/Cocoa/_WKErrorRecoveryAttempting.mm
-    UIProcess/API/Cocoa/_WKExperimentalFeature.mm
-    UIProcess/API/Cocoa/_WKLinkIconParameters.mm
-    UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm
-    UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm
-    UIProcess/API/Cocoa/_WKSessionState.mm
-    UIProcess/API/Cocoa/_WKThumbnailView.mm
-    UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm
-    UIProcess/API/Cocoa/_WKUserContentFilter.mm
-    UIProcess/API/Cocoa/_WKUserContentWorld.mm
-    UIProcess/API/Cocoa/_WKUserInitiatedAction.mm
-    UIProcess/API/Cocoa/_WKUserStyleSheet.mm
-    UIProcess/API/Cocoa/_WKVisitedLinkStore.mm
-    UIProcess/API/Cocoa/_WKWebsiteDataSize.mm
-    UIProcess/API/Cocoa/_WKWebsiteDataStore.mm
-    UIProcess/API/Cocoa/_WKWebsitePolicies.mm
-
-    UIProcess/API/mac/WKView.mm
-
-    UIProcess/Cocoa/AutomationClient.mm
-    UIProcess/Cocoa/AutomationSessionClient.mm
-    UIProcess/Cocoa/DiagnosticLoggingClient.mm
-    UIProcess/Cocoa/DownloadClient.mm
-    UIProcess/Cocoa/FindClient.mm
-    UIProcess/Cocoa/FullscreenClient.mm
-    UIProcess/Cocoa/IconLoadingDelegate.mm
-    UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm
-    UIProcess/Cocoa/NavigationState.mm
-    UIProcess/Cocoa/PageClientImplCocoa.mm
-    UIProcess/Cocoa/SessionStateCoding.mm
-    UIProcess/Cocoa/UIDelegate.mm
-    UIProcess/Cocoa/UIRemoteObjectRegistry.cpp
-    UIProcess/Cocoa/VersionChecks.mm
-    UIProcess/Cocoa/WKFullKeyboardAccessWatcher.mm
-    UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm
     UIProcess/Cocoa/WKSafeBrowsingWarning.mm
     UIProcess/Cocoa/WKShareSheet.mm
-    UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm
-    UIProcess/Cocoa/WebPageProxyCocoa.mm
-    UIProcess/Cocoa/WebPasteboardProxyCocoa.mm
-    UIProcess/Cocoa/WebProcessPoolCocoa.mm
-    UIProcess/Cocoa/WebProcessProxyCocoa.mm
-    UIProcess/Cocoa/WebURLSchemeHandlerCocoa.mm
-    UIProcess/Cocoa/WebViewImpl.mm
-
-    UIProcess/Launcher/mac/ProcessLauncherMac.mm
-
-    UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.cpp
-
-    UIProcess/Plugins/mac/PluginInfoStoreMac.mm
-    UIProcess/Plugins/mac/PluginProcessManagerMac.mm
-    UIProcess/Plugins/mac/PluginProcessProxyMac.mm
-
-    UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm
-    UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
-    UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp
-    UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
-    UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm
-
-    UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm
-
-    UIProcess/mac/CorrectionPanel.mm
-    UIProcess/mac/LegacySessionStateCoding.cpp
-    UIProcess/mac/PageClientImplMac.mm
-    UIProcess/mac/RemoteWebInspectorProxyMac.mm
-    UIProcess/mac/SecItemShimProxy.cpp
-    UIProcess/mac/ServicesController.mm
-    UIProcess/mac/TextCheckerMac.mm
-    UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm
-    UIProcess/mac/ViewGestureControllerMac.mm
-    UIProcess/mac/ViewSnapshotStoreMac.mm
-    UIProcess/mac/WKFullScreenWindowController.mm
-    UIProcess/mac/WKImmediateActionController.mm
-    UIProcess/mac/WKInspectorViewController.mm
-    UIProcess/mac/WKInspectorWKWebView.mm
-    UIProcess/mac/WKPrintingView.mm
-    UIProcess/mac/WKSharingServicePickerDelegate.mm
-    UIProcess/mac/WKTextFinderClient.mm
-    UIProcess/mac/WKTextInputWindowController.mm
-    UIProcess/mac/WKViewLayoutStrategy.mm
-    UIProcess/mac/WebColorPickerMac.mm
-    UIProcess/mac/WebContextMenuProxyMac.mm
-    UIProcess/mac/WebCookieManagerProxyMac.mm
-    UIProcess/mac/WebInspectorProxyMac.mm
-    UIProcess/mac/WebPageProxyMac.mm
-    UIProcess/mac/WebPopupMenuProxyMac.mm
-    UIProcess/mac/WebPreferencesMac.mm
-    UIProcess/mac/WebProcessProxyMac.mm
-    UIProcess/mac/WindowServerConnection.mm
-
-    WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm
-    WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm
-    WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm
-    WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm
-    WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.mm
-    WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.mm
-    WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm
-
-    WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm
-    WebProcess/InjectedBundle/API/mac/WKDOMElement.mm
-    WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm
-    WebProcess/InjectedBundle/API/mac/WKDOMNode.mm
-    WebProcess/InjectedBundle/API/mac/WKDOMRange.mm
-    WebProcess/InjectedBundle/API/mac/WKDOMText.mm
-    WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm
-    WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm
-    WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm
-
-    WebProcess/InjectedBundle/mac/InjectedBundleMac.mm
-
-    WebProcess/MediaCache/WebMediaKeyStorageManager.cpp
-
-    WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm
-    WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm
-
-    WebProcess/Plugins/PDF/PDFPlugin.mm
-    WebProcess/Plugins/PDF/PDFPluginAnnotation.mm
-    WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm
-    WebProcess/Plugins/PDF/PDFPluginPasswordField.mm
-    WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm
-
-    WebProcess/WebPage/RemoteLayerTree/GraphicsLayerCARemote.cpp
-    WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm
-    WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp
-    WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm
-    WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.cpp
-    WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm
-    WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm
-    WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm
-    WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm
-
-    WebProcess/WebCoreSupport/WebPasteboardOverrides.cpp
-    WebProcess/WebCoreSupport/WebValidationMessageClient.cpp
-
-    WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp
-    WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm
-    WebProcess/WebCoreSupport/mac/WebDragClientMac.mm
-    WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm
-    WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm
-    WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm
-
-    WebProcess/WebPage/ViewGestureGeometryCollector.cpp
-
-    WebProcess/WebPage/Cocoa/WebPageCocoa.mm
-    WebProcess/WebPage/Cocoa/WebRemoteObjectRegistry.cpp
-
-    WebProcess/WebPage/mac/PageBannerMac.mm
-    WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm
-    WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm
-    WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm
-    WebProcess/WebPage/mac/WebInspectorUIMac.mm
-    WebProcess/WebPage/mac/WebPageMac.mm
-
-    WebProcess/cocoa/WebProcessCocoa.mm
-
-    WebProcess/mac/SecItemShimLibrary.mm
+    UIProcess/Cocoa/WKStorageAccessAlert.mm
 )
 
-list(APPEND WebKit_INCLUDE_DIRECTORIES
+list(APPEND WebKit_PRIVATE_INCLUDE_DIRECTORIES
+    "${ICU_INCLUDE_DIRS}"
     "${WEBKIT_DIR}/NetworkProcess/cocoa"
     "${WEBKIT_DIR}/NetworkProcess/mac"
     "${WEBKIT_DIR}/PluginProcess/mac"
@@ -440,6 +89,8 @@ list(APPEND WebKit_INCLUDE_DIRECTORIES
 )
 
 set(XPCService_SOURCES
+    Shared/EntryPointUtilities/Cocoa/AuxiliaryProcessMain.cpp
+
     Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm
     Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm
 )
@@ -463,6 +114,10 @@ list(APPEND NetworkProcess_SOURCES
 set(WebKit_WebProcess_OUTPUT_NAME com.apple.WebKit.WebContent.Development)
 set(WebKit_NetworkProcess_OUTPUT_NAME com.apple.WebKit.Networking.Development)
 
+set(WebProcess_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR})
+set(NetworkProcess_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR})
+set(PluginProcess_INCLUDE_DIRECTORIES ${CMAKE_BINARY_DIR})
+
 add_definitions("-include WebKit2Prefix.h")
 
 set(WebKit_FORWARDING_HEADERS_FILES
@@ -520,7 +175,6 @@ set(WebKit_FORWARDING_HEADERS_DIRECTORIES
     Shared/API/c/cf
     Shared/API/c/mac
 
-    UIProcess
     UIProcess/Cocoa
 
     UIProcess/API/C
@@ -529,8 +183,6 @@ set(WebKit_FORWARDING_HEADERS_DIRECTORIES
     UIProcess/API/C/mac
     UIProcess/API/cpp
 
-    WebProcess/WebPage
-
     WebProcess/InjectedBundle/API/Cocoa
     WebProcess/InjectedBundle/API/c
     WebProcess/InjectedBundle/API/mac
@@ -583,6 +235,7 @@ set(WebKitLegacyForwardingHeaders
     WebHistoryItemPrivate.h
     WebHistoryPrivate.h
     WebIconDatabasePrivate.h
+    WebInspector.h
     WebInspectorPrivate.h
     WebKitNSStringExtras.h
     WebNSURLExtras.h
@@ -798,8 +451,9 @@ function(WEBKIT_DEFINE_XPC_SERVICES)
         ${WEBKIT_DIR}/NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-OSX.plist
         ${WebKit_NetworkProcess_OUTPUT_NAME})
 
-    add_custom_target(WebContentProcessNib COMMAND
+    add_custom_command(OUTPUT ${WebKit_XPC_SERVICE_DIR}/com.apple.WebKit.WebContent.xpc/Contents/Resources/WebContentProcess.nib COMMAND
         ibtool --compile ${WebKit_XPC_SERVICE_DIR}/com.apple.WebKit.WebContent.xpc/Contents/Resources/WebContentProcess.nib ${WEBKIT_DIR}/Resources/WebContentProcess.xib
         VERBATIM)
+    add_custom_target(WebContentProcessNib ALL DEPENDS ${WebKit_XPC_SERVICE_DIR}/com.apple.WebKit.WebContent.xpc/Contents/Resources/WebContentProcess.nib)
     add_dependencies(WebKit WebContentProcessNib)
 endfunction()
index f85549c..152c29c 100644 (file)
@@ -1,3 +1,17 @@
+2019-10-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards a functioning CMake build on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=202443
+
+        Rubber-stamped by Tim Horton.
+
+        * DumpRenderTree/PlatformMac.cmake:
+        * MiniBrowser/mac/CMakeLists.txt:
+        * TestRunnerShared/cocoa/ClassMethodSwizzler.mm:
+        * TestWebKitAPI/CMakeLists.txt:
+        * TestWebKitAPI/PlatformMac.cmake:
+        * WebKitTestRunner/PlatformMac.cmake:
+
 2019-10-01  John Wilander  <wilander@apple.com>
 
         Storage Access API: document.hasStorageAccess() should return true when the cookie policy allows access
index e5adc3b..aa3d69f 100644 (file)
@@ -2,6 +2,9 @@ find_library(QUARTZ_LIBRARY Quartz)
 find_library(CARBON_LIBRARY Carbon)
 find_library(CORESERVICES_LIBRARY CoreServices)
 
+add_definitions(-DJSC_API_AVAILABLE\\\(...\\\)=)
+add_definitions(-DJSC_CLASS_AVAILABLE\\\(...\\\)=)
+
 # FIXME: We shouldn't need to define NS_RETURNS_RETAINED.
 add_definitions(-iframework ${QUARTZ_LIBRARY}/Frameworks -iframework ${CORESERVICES_LIBRARY}/Frameworks -DNS_RETURNS_RETAINED=)
 
@@ -30,6 +33,9 @@ list(APPEND DumpRenderTree_INCLUDE_DIRECTORIES
     ${FORWARDING_HEADERS_DIR}/WebKit
     ${FORWARDING_HEADERS_DIR}/WebKitLegacy
     ${WEBCORE_DIR}/testing/cocoa
+    ${WEBKITLEGACY_DIR}
+    ${WEBKIT_TESTRUNNER_SHARED_DIR}/cocoa
+    ${WEBKIT_TESTRUNNER_SHARED_DIR}/spi
 )
 
 # Common ${TestNetscapePlugIn_SOURCES} from CMakeLists.txt are C++ source files.
@@ -56,7 +62,6 @@ list(APPEND DumpRenderTree_ObjC_SOURCES
 
     mac/AppleScriptController.m
     mac/NavigationController.m
-    mac/ObjCController.m
     mac/ObjCPlugin.m
     mac/ObjCPluginFunction.m
     mac/TextInputControllerMac.m
@@ -67,6 +72,7 @@ list(APPEND DumpRenderTree_Cpp_SOURCES
 )
 
 list(APPEND DumpRenderTree_ObjCpp_SOURCES
+    DefaultPolicyDelegate.mm
     mac/AccessibilityCommonMac.mm
     mac/AccessibilityControllerMac.mm
     mac/AccessibilityNotificationHandler.mm
@@ -84,6 +90,7 @@ list(APPEND DumpRenderTree_ObjCpp_SOURCES
     mac/HistoryDelegate.mm
     mac/MockGeolocationProvider.mm
     mac/MockWebNotificationProvider.mm
+    mac/ObjCController.m
     mac/PixelDumpSupportMac.mm
     mac/PolicyDelegate.mm
     mac/ResourceLoadDelegate.mm
@@ -91,6 +98,8 @@ list(APPEND DumpRenderTree_ObjCpp_SOURCES
     mac/UIDelegate.mm
     mac/UIScriptControllerMac.mm
     mac/WorkQueueItemMac.mm
+    ${WEBKIT_TESTRUNNER_SHARED_DIR}/cocoa/ClassMethodSwizzler.mm
+    ${WEBKIT_TESTRUNNER_SHARED_DIR}/cocoa/LayoutTestSpellChecker.mm
 )
 
 set(DumpRenderTree_SOURCES
index 65ff760..e6f23de 100644 (file)
@@ -15,6 +15,7 @@ set(MiniBrowser_SOURCES
 )
 
 set(MiniBrowser_INCLUDE_DIRECTORIES
+    ${CMAKE_SOURCE_DIR}/Source/WebKitLegacy
     ${CMAKE_SOURCE_DIR}/Source
     ${FORWARDING_HEADERS_DIR}
     ${MINIBROWSER_DIR}
@@ -24,17 +25,27 @@ set(MiniBrowser_LIBRARIES
     WebKit
 )
 
+set(CMAKE_EXE_LINKER_FLAGS "-framework Cocoa")
+
 set(EXECUTABLE_NAME MiniBrowser)
 set(PRODUCT_NAME MiniBrowser)
 
 set(MiniBrowser_Contents_Directory ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/MiniBrowser.app/Contents)
 make_directory(${MiniBrowser_Contents_Directory}/Resources)
-add_custom_target(BrowserWindowNib COMMAND ibtool --compile ${MiniBrowser_Contents_Directory}/Resources/BrowserWindow.nib ${MINIBROWSER_DIR}/BrowserWindow.xib VERBATIM)
-add_custom_target(ExtensionManagerWindowControllerNib COMMAND ibtool --compile ${MiniBrowser_Contents_Directory}/Resources/ExtensionManagerWindowController.nib ${MINIBROWSER_DIR}/ExtensionManagerWindowController.xib VERBATIM)
-add_custom_target(MainMenuNib COMMAND ibtool --compile ${MiniBrowser_Contents_Directory}/Resources/MainMenu.nib ${MINIBROWSER_DIR}/MainMenu.xib VERBATIM)
+add_custom_command(OUTPUT ${MiniBrowser_Contents_Directory}/Resources/BrowserWindow.nib
+    COMMAND ibtool --compile ${MiniBrowser_Contents_Directory}/Resources/BrowserWindow.nib ${MINIBROWSER_DIR}/BrowserWindow.xib VERBATIM)
+add_custom_command(OUTPUT ${MiniBrowser_Contents_Directory}/Resources/ExtensionManagerWindowController.nib
+    COMMAND ibtool --compile ${MiniBrowser_Contents_Directory}/Resources/ExtensionManagerWindowController.nib ${MINIBROWSER_DIR}/ExtensionManagerWindowController.xib VERBATIM)
+add_custom_command(OUTPUT ${MiniBrowser_Contents_Directory}/Resources/MainMenu.nib
+    COMMAND ibtool --compile ${MiniBrowser_Contents_Directory}/Resources/MainMenu.nib ${MINIBROWSER_DIR}/MainMenu.xib VERBATIM)
+add_custom_target(MiniBrowserNibs ALL DEPENDS
+    ${MiniBrowser_Contents_Directory}/Resources/BrowserWindow.nib
+    ${MiniBrowser_Contents_Directory}/Resources/ExtensionManagerWindowController.nib
+    ${MiniBrowser_Contents_Directory}/Resources/MainMenu.nib
+)
 
 include_directories(${MiniBrowser_INCLUDE_DIRECTORIES})
 add_executable(MiniBrowser MACOSX_BUNDLE ${MiniBrowser_SOURCES})
 set_target_properties(MiniBrowser PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${MINIBROWSER_DIR}/Info.plist)
 target_link_libraries(MiniBrowser ${MiniBrowser_LIBRARIES})
-add_dependencies(MiniBrowser BrowserWindowNib ExtensionManagerWindowControllerNib MainMenuNib)
+add_dependencies(MiniBrowser MiniBrowserNibs)
index b2b9b00..3518c68 100644 (file)
@@ -26,6 +26,8 @@
 #import "config.h"
 #import "ClassMethodSwizzler.h"
 
+#include <Foundation/Foundation.h>
+
 ClassMethodSwizzler::ClassMethodSwizzler(Class cls, SEL originalSelector, IMP implementation)
     : m_method(class_getClassMethod(objc_getMetaClass(NSStringFromClass(cls).UTF8String), originalSelector))
     , m_originalImplementation(method_setImplementation(m_method, implementation))
index ac5cb07..eb62df2 100644 (file)
@@ -147,10 +147,12 @@ if (ENABLE_WEBCORE)
     )
 
     set(TestWebCore_LIBRARIES
-        WebCore
         WebCoreTestSupport
         gtest
     )
+    if (NOT APPLE)
+        list(APPEND TestWebCore_LIBRARIES WebCore)
+    endif ()
 
     set(TestWebCore_PRIVATE_INCLUDE_DIRECTORIES
         ${CMAKE_BINARY_DIR}
@@ -173,9 +175,13 @@ if (ENABLE_WEBKIT_LEGACY)
     )
 
     set(TestWebKitLegacy_LIBRARIES
-        WebKitLegacy
         gtest
     )
+    if (NOT APPLE)
+        list(APPEND TestWebKitLegacy_LIBRARIES
+            WebKitLegacy
+        )
+    endif ()
 
     set(TestWebKitLegacy_PRIVATE_INCLUDE_DIRECTORIES
         ${CMAKE_BINARY_DIR}
@@ -284,7 +290,7 @@ if (ENABLE_WEBKIT)
                                                       -Wno-unused-parameter)
     endif ()
 
-    add_library(TestWebKitAPIInjectedBundle SHARED
+    set(TestWebKitAPIInjectedBundle_SOURCES
         InjectedBundleController.cpp
         InjectedBundleMain.cpp
         PlatformUtilities.cpp
@@ -313,9 +319,21 @@ if (ENABLE_WEBKIT)
         Tests/WebKit/WillLoad_Bundle.cpp
         Tests/WebKit/WillSendSubmitEvent_Bundle.cpp
     )
+    if (APPLE)
+        list(APPEND TestWebKitAPIInjectedBundle_SOURCES
+            Tests/WebKit/DOMWindowExtensionBasic_Bundle.cpp
+
+            cocoa/UtilitiesCocoa.mm
+
+            mac/InjectedBundleControllerMac.mm
+            mac/PlatformUtilitiesMac.mm
+        )
+    endif ()
+    add_library(TestWebKitAPIInjectedBundle SHARED ${TestWebKitAPIInjectedBundle_SOURCES})
+
     target_compile_definitions(TestWebKitAPIInjectedBundle PRIVATE BUILDING_TestWebKit)
     target_include_directories(TestWebKitAPIInjectedBundle PRIVATE ${TestWebKit_PRIVATE_INCLUDE_DIRECTORIES})
-    target_link_libraries(TestWebKitAPIInjectedBundle PRIVATE WebKit)
+    target_link_libraries(TestWebKitAPIInjectedBundle PRIVATE WebKit WTF)
 
     if (COMPILER_IS_GCC_OR_CLANG)
         WEBKIT_ADD_TARGET_CXX_FLAGS(TestWebKitAPIInjectedBundle -Wno-dangling-else
index 3c3feab..1aa81eb 100644 (file)
@@ -1,7 +1,13 @@
+find_library(CARBON_LIBRARY Carbon)
+find_library(QUARTZCORE_LIBRARY QuartzCore)
+
 set(TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
+add_definitions(-DJSC_API_AVAILABLE\\\(...\\\)=)
+add_definitions(-DJSC_CLASS_AVAILABLE\\\(...\\\)=)
 
 include_directories(
     "${FORWARDING_HEADERS_DIR}"
+    "${ICU_INCLUDE_DIRS}"
 )
 
 set(test_main_SOURCES
@@ -26,6 +32,18 @@ list(APPEND TestWebKitAPI_LIBRARIES
     ${CARBON_LIBRARY}
 )
 
+list(APPEND TestWebKitLegacy_LIBRARIES
+    WTF
+    WebKit
+    ${CARBON_LIBRARY}
+)
+
+list(APPEND TestWebCore_LIBRARIES
+    JavaScriptCore
+    WTF
+    WebKit
+)
+
 set(bundle_harness_SOURCES
     ${TESTWEBKITAPI_DIR}/cocoa/PlatformUtilitiesCocoa.mm
     ${TESTWEBKITAPI_DIR}/cocoa/UtilitiesCocoa.mm
@@ -39,3 +57,27 @@ set(bundle_harness_SOURCES
 list(APPEND TestWebKitLegacy_SOURCES
     ${test_main_SOURCES}
 )
+set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-framework Cocoa")
+set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} "-framework Cocoa")
+
+list(APPEND TestWebKit_LIBRARIES
+    JavaScriptCore
+    WTF
+    ${CARBON_LIBRARY}
+)
+
+list(APPEND TestWebCore_LIBRARIES
+    ${QUARTZCORE_LIBRARY}
+)
+
+list(APPEND TestWebCore_SOURCES
+    cocoa/UtilitiesCocoa.mm
+)
+
+list(APPEND TestWebKit_SOURCES
+    cocoa/UtilitiesCocoa.mm
+
+    mac/OffscreenWindow.mm
+    mac/PlatformUtilitiesMac.mm
+    mac/PlatformWebViewMac.mm
+)
index edd7c4d..abef1de 100644 (file)
@@ -1,4 +1,5 @@
 find_library(CARBON_LIBRARY Carbon)
+find_library(FOUNDATION_LIBRARY Foundation)
 
 find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices)
 find_library(CORESERVICES_LIBRARY CoreServices)
@@ -6,26 +7,32 @@ add_definitions(-iframework ${APPLICATIONSERVICES_LIBRARY}/Versions/Current/Fram
 add_definitions(-iframework ${CORESERVICES_LIBRARY}/Versions/Current/Frameworks)
 
 link_directories(../../WebKitLibraries)
+add_definitions(-DJSC_API_AVAILABLE\\\(...\\\)=)
+add_definitions(-DJSC_CLASS_AVAILABLE\\\(...\\\)=)
 
 list(APPEND WebKitTestRunner_LIBRARIES
     ${CARBON_LIBRARY}
 )
 
 list(APPEND WebKitTestRunner_INCLUDE_DIRECTORIES
+    ${CMAKE_BINARY_DIR}
+    ${CMAKE_SOURCE_DIR}/WebKitLibraries
     ${DERIVED_SOURCES_DIR}
     ${DERIVED_SOURCES_DIR}/WebCore
     ${FORWARDING_HEADERS_DIR}
     ${FORWARDING_HEADERS_DIR}/JavaScriptCore
     ${FORWARDING_HEADERS_DIR}/WebCore
+    ${ICU_INCLUDE_DIRS}
     ${WEBCORE_DIR}/testing/cocoa
+    ${WEBKITLEGACY_DIR}
     ${WEBKIT_TESTRUNNER_DIR}/cf
     ${WEBKIT_TESTRUNNER_DIR}/cg
     ${WEBKIT_TESTRUNNER_DIR}/cocoa
     ${WEBKIT_TESTRUNNER_DIR}/mac
     ${WEBKIT_TESTRUNNER_INJECTEDBUNDLE_DIR}/mac
     ${WEBKIT_TESTRUNNER_SHARED_DIR}/EventSerialization/mac
+    ${WEBKIT_TESTRUNNER_SHARED_DIR}/cocoa
     ${WEBKIT_TESTRUNNER_SHARED_DIR}/spi
-    ${CMAKE_SOURCE_DIR}/WebKitLibraries
 )
 
 list(APPEND WebKitTestRunnerInjectedBundle_SOURCES
@@ -47,12 +54,23 @@ list(APPEND WebKitTestRunnerInjectedBundle_SOURCES
     ${WEBKIT_TESTRUNNER_SHARED_DIR}/EventSerialization/mac/SharedEventStreamsMac.mm
 )
 
+list(APPEND WebKitTestRunnerInjectedBundle_LIBRARIES
+    ${FOUNDATION_LIBRARY}
+    JavaScriptCore
+    WTF
+    WebCoreTestSupport
+    WebKit
+)
+set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-framework Cocoa")
+
 list(APPEND WebKitTestRunner_SOURCES
     ${WEBKIT_TESTRUNNER_DIR}/cg/TestInvocationCG.cpp
 
     ${WEBKIT_TESTRUNNER_DIR}/cocoa/CrashReporterInfo.mm
     ${WEBKIT_TESTRUNNER_DIR}/cocoa/TestControllerCocoa.mm
     ${WEBKIT_TESTRUNNER_DIR}/cocoa/TestRunnerWKWebView.mm
+    ${WEBKIT_TESTRUNNER_DIR}/cocoa/TestWebsiteDataStoreDelegate.mm
+    ${WEBKIT_TESTRUNNER_DIR}/cocoa/UIScriptControllerCocoa.mm
 
     ${WEBKIT_TESTRUNNER_DIR}/mac/EventSenderProxy.mm
     ${WEBKIT_TESTRUNNER_DIR}/mac/PlatformWebViewMac.mm
@@ -65,6 +83,8 @@ list(APPEND WebKitTestRunner_SOURCES
     ${WEBKIT_TESTRUNNER_DIR}/mac/WebKitTestRunnerWindow.mm
     ${WEBKIT_TESTRUNNER_DIR}/mac/main.mm
     
+    ${WEBKIT_TESTRUNNER_SHARED_DIR}/cocoa/ClassMethodSwizzler.mm
+
     ${WEBKIT_TESTRUNNER_SHARED_DIR}/EventSerialization/mac/EventSerializerMac.mm
     ${WEBKIT_TESTRUNNER_SHARED_DIR}/EventSerialization/mac/SharedEventStreamsMac.mm
 )