find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices)
find_library(QUARTZ_LIBRARY Quartz)
add_definitions(-iframework ${QUARTZ_LIBRARY}/Frameworks)
add_definitions(-iframework ${APPLICATIONSERVICES_LIBRARY}/Versions/Current/Frameworks)

list(APPEND WebKitLegacy_INCLUDE_DIRECTORIES
    "${DERIVED_SOURCES_WEBKITLEGACY_DIR}"
    "${CMAKE_SOURCE_DIR}/WebKitLibraries"
)

list(APPEND WebKitLegacy_SYSTEM_INCLUDE_DIRECTORIES
    mac
    mac/Carbon
    mac/DefaultDelegates
    mac/DOM
    mac/History
    mac/icu
    mac/Misc
    mac/Panels
    mac/Plugins
    mac/Plugins/Hosted
    mac/Storage
    mac/WebCoreSupport
    mac/WebInspector
    mac/WebView
)

list(APPEND WebKitLegacy_SOURCES
    cf/WebCoreSupport/WebInspectorClientCF.cpp

    mac/Carbon/CarbonUtils.m
    mac/Carbon/CarbonWindowAdapter.mm
    mac/Carbon/CarbonWindowContentView.m
    mac/Carbon/CarbonWindowFrame.m
    mac/Carbon/HIViewAdapter.m
    mac/Carbon/HIWebView.mm

    mac/DOM/DOM.mm
    mac/DOM/DOMAbstractView.mm
    mac/DOM/DOMAttr.mm
    mac/DOM/DOMBlob.mm
    mac/DOM/DOMCDATASection.mm
    mac/DOM/DOMCharacterData.mm
    mac/DOM/DOMComment.mm
    mac/DOM/DOMCounter.mm
    mac/DOM/DOMCSS.mm
    mac/DOM/DOMCSSCharsetRule.mm
    mac/DOM/DOMCSSFontFaceRule.mm
    mac/DOM/DOMCSSImportRule.mm
    mac/DOM/DOMCSSMediaRule.mm
    mac/DOM/DOMCSSPageRule.mm
    mac/DOM/DOMCSSPrimitiveValue.mm
    mac/DOM/DOMCSSRule.mm
    mac/DOM/DOMCSSRuleList.mm
    mac/DOM/DOMCSSStyleDeclaration.mm
    mac/DOM/DOMCSSStyleRule.mm
    mac/DOM/DOMCSSStyleSheet.mm
    mac/DOM/DOMCSSUnknownRule.mm
    mac/DOM/DOMCSSValue.mm
    mac/DOM/DOMCSSValueList.mm
    mac/DOM/DOMCustomXPathNSResolver.mm
    mac/DOM/DOMDocument.mm
    mac/DOM/DOMDocumentFragment.mm
    mac/DOM/DOMDocumentType.mm
    mac/DOM/DOMElement.mm
    mac/DOM/DOMEntityReference.mm
    mac/DOM/DOMEvent.mm
    mac/DOM/DOMEvents.mm
    mac/DOM/DOMFile.mm
    mac/DOM/DOMFileList.mm
    mac/DOM/DOMHTML.mm
    mac/DOM/DOMHTMLAnchorElement.mm
    mac/DOM/DOMHTMLAppletElement.mm
    mac/DOM/DOMHTMLAreaElement.mm
    mac/DOM/DOMHTMLBRElement.mm
    mac/DOM/DOMHTMLBaseElement.mm
    mac/DOM/DOMHTMLBaseFontElement.mm
    mac/DOM/DOMHTMLBodyElement.mm
    mac/DOM/DOMHTMLButtonElement.mm
    mac/DOM/DOMHTMLCanvasElement.mm
    mac/DOM/DOMHTMLCollection.mm
    mac/DOM/DOMHTMLDListElement.mm
    mac/DOM/DOMHTMLDirectoryElement.mm
    mac/DOM/DOMHTMLDivElement.mm
    mac/DOM/DOMHTMLDocument.mm
    mac/DOM/DOMHTMLElement.mm
    mac/DOM/DOMHTMLEmbedElement.mm
    mac/DOM/DOMHTMLFieldSetElement.mm
    mac/DOM/DOMHTMLFontElement.mm
    mac/DOM/DOMHTMLFormElement.mm
    mac/DOM/DOMHTMLFrameElement.mm
    mac/DOM/DOMHTMLFrameSetElement.mm
    mac/DOM/DOMHTMLHRElement.mm
    mac/DOM/DOMHTMLHeadElement.mm
    mac/DOM/DOMHTMLHeadingElement.mm
    mac/DOM/DOMHTMLHtmlElement.mm
    mac/DOM/DOMHTMLIFrameElement.mm
    mac/DOM/DOMHTMLImageElement.mm
    mac/DOM/DOMHTMLInputElement.mm
    mac/DOM/DOMHTMLLIElement.mm
    mac/DOM/DOMHTMLLabelElement.mm
    mac/DOM/DOMHTMLLegendElement.mm
    mac/DOM/DOMHTMLLinkElement.mm
    mac/DOM/DOMHTMLMapElement.mm
    mac/DOM/DOMHTMLMarqueeElement.mm
    mac/DOM/DOMHTMLMediaElement.mm
    mac/DOM/DOMHTMLMenuElement.mm
    mac/DOM/DOMHTMLMetaElement.mm
    mac/DOM/DOMHTMLModElement.mm
    mac/DOM/DOMHTMLOListElement.mm
    mac/DOM/DOMHTMLObjectElement.mm
    mac/DOM/DOMHTMLOptGroupElement.mm
    mac/DOM/DOMHTMLOptionElement.mm
    mac/DOM/DOMHTMLOptionsCollection.mm
    mac/DOM/DOMHTMLParagraphElement.mm
    mac/DOM/DOMHTMLParamElement.mm
    mac/DOM/DOMHTMLPreElement.mm
    mac/DOM/DOMHTMLQuoteElement.mm
    mac/DOM/DOMHTMLScriptElement.mm
    mac/DOM/DOMHTMLSelectElement.mm
    mac/DOM/DOMHTMLStyleElement.mm
    mac/DOM/DOMHTMLTableCaptionElement.mm
    mac/DOM/DOMHTMLTableCellElement.mm
    mac/DOM/DOMHTMLTableColElement.mm
    mac/DOM/DOMHTMLTableElement.mm
    mac/DOM/DOMHTMLTableRowElement.mm
    mac/DOM/DOMHTMLTableSectionElement.mm
    mac/DOM/DOMHTMLTextAreaElement.mm
    mac/DOM/DOMHTMLTitleElement.mm
    mac/DOM/DOMHTMLUListElement.mm
    mac/DOM/DOMHTMLVideoElement.mm
    mac/DOM/DOMInternal.mm
    mac/DOM/DOMImplementation.mm
    mac/DOM/DOMKeyboardEvent.mm
    mac/DOM/DOMMediaError.mm
    mac/DOM/DOMMediaList.mm
    mac/DOM/DOMMouseEvent.mm
    mac/DOM/DOMMutationEvent.mm
    mac/DOM/DOMNamedNodeMap.mm
    mac/DOM/DOMNode.mm
    mac/DOM/DOMNodeIterator.mm
    mac/DOM/DOMNodeList.mm
    mac/DOM/DOMObject.mm
    mac/DOM/DOMOverflowEvent.mm
    mac/DOM/DOMProcessingInstruction.mm
    mac/DOM/DOMProgressEvent.mm
    mac/DOM/DOMRGBColor.mm
    mac/DOM/DOMRange.mm
    mac/DOM/DOMRect.mm
    mac/DOM/DOMStyleSheet.mm
    mac/DOM/DOMStyleSheetList.mm
    mac/DOM/DOMText.mm
    mac/DOM/DOMTextEvent.mm
    mac/DOM/DOMTimeRanges.mm
    mac/DOM/DOMTokenList.mm
    mac/DOM/DOMTreeWalker.mm
    mac/DOM/DOMUIEvent.mm
    mac/DOM/DOMUIKitExtensions.mm
    mac/DOM/DOMUtility.mm
    mac/DOM/DOMWheelEvent.mm
    mac/DOM/DOMXPath.mm
    mac/DOM/DOMXPathExpression.mm
    mac/DOM/DOMXPathResult.mm
    mac/DOM/ExceptionHandlers.mm
    mac/DOM/ObjCEventListener.mm
    mac/DOM/ObjCNodeFilterCondition.mm

    mac/DefaultDelegates/WebDefaultContextMenuDelegate.mm
    mac/DefaultDelegates/WebDefaultEditingDelegate.m
    mac/DefaultDelegates/WebDefaultPolicyDelegate.m
    mac/DefaultDelegates/WebDefaultUIDelegate.mm

    mac/History/BackForwardList.mm
    mac/History/BinaryPropertyList.cpp
    mac/History/HistoryPropertyList.mm
    mac/History/WebBackForwardList.mm
    mac/History/WebHistory.mm
    mac/History/WebHistoryItem.mm
    mac/History/WebURLsWithTitles.m

    mac/Misc/WebCache.mm
    mac/Misc/WebCoreStatistics.mm
    mac/Misc/WebDownload.mm
    mac/Misc/WebElementDictionary.mm
    mac/Misc/WebIconDatabase.mm
    mac/Misc/WebKitErrors.m
    mac/Misc/WebKitLogging.m
    mac/Misc/WebKitNSStringExtras.mm
    mac/Misc/WebKitStatistics.m
    mac/Misc/WebKitVersionChecks.mm
    mac/Misc/WebLocalizableStrings.mm
    mac/Misc/WebLocalizableStringsInternal.mm
    mac/Misc/WebNSControlExtras.m
    mac/Misc/WebNSDataExtras.mm
    mac/Misc/WebNSDictionaryExtras.m
    mac/Misc/WebNSEventExtras.m
    mac/Misc/WebNSFileManagerExtras.mm
    mac/Misc/WebNSImageExtras.m
    mac/Misc/WebNSObjectExtras.mm
    mac/Misc/WebNSPasteboardExtras.mm
    mac/Misc/WebNSPrintOperationExtras.m
    mac/Misc/WebNSURLExtras.mm
    mac/Misc/WebNSURLRequestExtras.m
    mac/Misc/WebNSUserDefaultsExtras.mm
    mac/Misc/WebNSViewExtras.m
    mac/Misc/WebNSWindowExtras.m
    mac/Misc/WebSharingServicePickerController.mm
    mac/Misc/WebStringTruncator.mm
    mac/Misc/WebUserContentURLPattern.mm

    mac/Panels/WebAuthenticationPanel.m
    mac/Panels/WebPanelAuthenticationHandler.m

    mac/Plugins/WebBaseNetscapePluginView.mm
    mac/Plugins/WebBasePluginPackage.mm
    mac/Plugins/WebNetscapePluginEventHandler.mm
    mac/Plugins/WebNetscapePluginEventHandlerCarbon.mm
    mac/Plugins/WebNetscapePluginEventHandlerCocoa.mm
    mac/Plugins/WebNetscapePluginPackage.mm
    mac/Plugins/WebNetscapePluginStream.mm
    mac/Plugins/WebNetscapePluginView.mm
    mac/Plugins/WebPluginContainerCheck.mm
    mac/Plugins/WebPluginController.mm
    mac/Plugins/WebPluginDatabase.mm
    mac/Plugins/WebPluginPackage.mm
    mac/Plugins/WebPluginRequest.m
    mac/Plugins/npapi.mm

    mac/Plugins/Hosted/HostedNetscapePluginStream.mm
    mac/Plugins/Hosted/NetscapePluginHostManager.mm
    mac/Plugins/Hosted/NetscapePluginHostProxy.mm
    mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
    mac/Plugins/Hosted/ProxyInstance.mm
    mac/Plugins/Hosted/ProxyRuntimeObject.mm
    mac/Plugins/Hosted/WebHostedNetscapePluginView.mm
    mac/Plugins/Hosted/WebKitPluginAgent.defs
    mac/Plugins/Hosted/WebKitPluginAgentReply.defs
    mac/Plugins/Hosted/WebKitPluginClient.defs
    mac/Plugins/Hosted/WebKitPluginHost.defs
    mac/Plugins/Hosted/WebKitPluginHostTypes.defs
    mac/Plugins/Hosted/WebTextInputWindowController.m

    mac/Storage/WebDatabaseManager.mm
    mac/Storage/WebDatabaseManagerClient.mm
    mac/Storage/WebDatabaseProvider.mm
    mac/Storage/WebDatabaseQuotaManager.mm
    mac/Storage/WebStorageManager.mm
    mac/Storage/WebStorageTrackerClient.mm

    mac/WebCoreSupport/CorrectionPanel.mm
    mac/WebCoreSupport/PopupMenuMac.mm
    mac/WebCoreSupport/SearchPopupMenuMac.mm
    mac/WebCoreSupport/WebAlternativeTextClient.mm
    mac/WebCoreSupport/WebApplicationCache.mm
    mac/WebCoreSupport/WebApplicationCacheQuotaManager.mm
    mac/WebCoreSupport/WebChromeClient.mm
    mac/WebCoreSupport/WebContextMenuClient.mm
    mac/WebCoreSupport/WebDeviceOrientationClient.mm
    mac/WebCoreSupport/WebDragClient.mm
    mac/WebCoreSupport/WebEditorClient.mm
    mac/WebCoreSupport/WebFrameLoaderClient.mm
    mac/WebCoreSupport/WebFrameNetworkingContext.mm
    mac/WebCoreSupport/WebGeolocationClient.mm
    mac/WebCoreSupport/WebInspectorClient.mm
    mac/WebCoreSupport/WebJavaScriptTextInputPanel.m
    mac/WebCoreSupport/WebKitFullScreenListener.mm
    mac/WebCoreSupport/WebNotificationClient.mm
    mac/WebCoreSupport/WebOpenPanelResultListener.mm
    mac/WebCoreSupport/WebPlatformStrategies.mm
    mac/WebCoreSupport/WebPluginInfoProvider.mm
    mac/WebCoreSupport/WebProgressTrackerClient.mm
    mac/WebCoreSupport/WebSecurityOrigin.mm
    mac/WebCoreSupport/WebSelectionServiceController.mm
    mac/WebCoreSupport/WebUserMediaClient.mm
    mac/WebCoreSupport/WebValidationMessageClient.mm
    mac/WebCoreSupport/WebVisitedLinkStore.mm

    mac/WebInspector/WebInspector.mm
    mac/WebInspector/WebInspectorFrontend.mm
    mac/WebInspector/WebNodeHighlight.mm
    mac/WebInspector/WebNodeHighlightView.mm
    mac/WebInspector/WebNodeHighlighter.mm

    mac/WebView/WebArchive.mm
    mac/WebView/WebClipView.mm
    mac/WebView/WebDashboardRegion.mm
    mac/WebView/WebDataSource.mm
    mac/WebView/WebDelegateImplementationCaching.mm
    mac/WebView/WebDeviceOrientation.mm
    mac/WebView/WebDeviceOrientationProviderMock.mm
    mac/WebView/WebDocumentLoaderMac.mm
    mac/WebView/WebDynamicScrollBarsView.mm
    mac/WebView/WebFormDelegate.m
    mac/WebView/WebFrame.mm
    mac/WebView/WebFrameView.mm
    mac/WebView/WebFullScreenController.mm
    mac/WebView/WebGeolocationPosition.mm
    mac/WebView/WebHTMLRepresentation.mm
    mac/WebView/WebHTMLView.mm
    mac/WebView/WebImmediateActionController.mm
    mac/WebView/WebIndicateLayer.mm
    mac/WebView/WebJSPDFDoc.mm
    mac/WebView/WebNavigationData.mm
    mac/WebView/WebNotification.mm
    mac/WebView/WebPDFDocumentExtras.mm
    mac/WebView/WebPDFRepresentation.mm
    mac/WebView/WebPDFView.mm
    mac/WebView/WebPolicyDelegate.mm
    mac/WebView/WebPreferences.mm
    mac/WebView/WebResource.mm
    mac/WebView/WebScriptDebugDelegate.mm
    mac/WebView/WebScriptDebugger.mm
    mac/WebView/WebScriptWorld.mm
    mac/WebView/WebTextCompletionController.mm
    mac/WebView/WebTextIterator.mm
    mac/WebView/WebView.mm
    mac/WebView/WebViewData.mm
)

set(WebKitLegacy_FORWARDING_HEADERS_DIRECTORIES
    mac/DOM
    mac/DefaultDelegates
    mac/History
    mac/Misc
    mac/Panels
    mac/Plugins
    mac/Storage
    mac/WebCoreSupport
    mac/WebInspector
    mac/WebView
)

set(WebKitLegacy_FORWARDING_HEADERS_FILES
    mac/DOM/WebDOMOperations.h

    mac/History/WebHistory.h
    mac/History/WebHistoryItem.h

    mac/Misc/WebNSURLExtras.h

    mac/Panels/WebPanelAuthenticationHandler.h

    mac/Plugins/WebBasePluginPackage.h

    mac/Storage/WebDatabaseManagerPrivate.h

    mac/WebCoreSupport/WebKeyGenerator.h

    mac/WebInspector/WebInspector.h

    mac/WebView/WebFrame.h
    mac/WebView/WebView.h

    ${WEBCORE_DIR}/plugins/npfunctions.h
)

add_definitions("-include WebKitPrefix.h")

set(C99_FILES
    ${WEBKITLEGACY_DIR}/mac/Carbon/CarbonUtils.m
    ${WEBKITLEGACY_DIR}/mac/Carbon/CarbonWindowContentView.m
    ${WEBKITLEGACY_DIR}/mac/Carbon/CarbonWindowFrame.m
    ${WEBKITLEGACY_DIR}/mac/Carbon/HIViewAdapter.m

    mac/DefaultDelegates/WebDefaultEditingDelegate.m
    mac/DefaultDelegates/WebDefaultPolicyDelegate.m
    mac/DefaultDelegates/WebDefaultUIDelegate.m

    mac/Misc/WebKitErrors.m
    mac/Misc/WebKitLogging.m
    mac/Misc/WebKitStatistics.m
    mac/Misc/WebKitSystemBits.m
    mac/Misc/WebNSArrayExtras.m
    mac/Misc/WebNSControlExtras.m
    mac/Misc/WebNSDictionaryExtras.m
    mac/Misc/WebNSEventExtras.m
    mac/Misc/WebNSImageExtras.m
    mac/Misc/WebNSPrintOperationExtras.m
    mac/Misc/WebNSURLRequestExtras.m
    mac/Misc/WebNSViewExtras.m
    mac/Misc/WebNSWindowExtras.m

    mac/Panels/WebAuthenticationPanel.m
    mac/Panels/WebPanelAuthenticationHandler.m

    mac/Plugins/WebPluginRequest.m
    mac/Plugins/WebPluginsPrivate.m

    mac/Plugins/Hosted/WebTextInputWindowController.m

    mac/WebCoreSupport/WebJavaScriptTextInputPanel.m

    mac/WebView/WebFormDelegate.m
)

foreach (_file ${WebKitLegacy_SOURCES})
    list(FIND C99_FILES ${_file} _c99_index)
    if (${_c99_index} EQUAL -1)
        set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS "-ObjC++ -std=c++14")
    else ()
        set_source_files_properties(${_file} PROPERTIES COMPILE_FLAGS -std=c99)
    endif ()
endforeach ()

file(COPY
    mac/Plugins/Hosted/WebKitPluginAgent.defs
    mac/Plugins/Hosted/WebKitPluginAgentReply.defs
    mac/Plugins/Hosted/WebKitPluginClient.defs
    mac/Plugins/Hosted/WebKitPluginHost.defs
    mac/Plugins/Hosted/WebKitPluginHostTypes.defs
    mac/Plugins/Hosted/WebKitPluginHostTypes.h
DESTINATION ${DERIVED_SOURCES_WEBKITLEGACY_DIR})

add_custom_command(
    OUTPUT
        ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/WebKitPluginAgentReplyServer.c
        ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/WebKitPluginAgentReplyUser.c
        ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/WebKitPluginAgentServer.c
        ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/WebKitPluginAgentUser.c
        ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/WebKitPluginHostServer.c
        ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/WebKitPluginHostUser.c
    DEPENDS mac/Plugins/Hosted/WebKitPluginAgent.defs mac/Plugins/Hosted/WebKitPluginHost.defs
    WORKING_DIRECTORY ${DERIVED_SOURCES_WEBKITLEGACY_DIR}
    COMMAND mig -I.. WebKitPluginAgent.defs WebKitPluginAgentReply.defs WebKitPluginHost.defs
    VERBATIM)
add_custom_command(
    OUTPUT
        ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/WebKitPluginClientServer.c
        ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/WebKitPluginClientUser.c
    DEPENDS mac/Plugins/Hosted/WebKitPluginClient.defs
    WORKING_DIRECTORY ${DERIVED_SOURCES_WEBKITLEGACY_DIR}
    COMMAND mig -I.. -sheader WebKitPluginClientServer.h WebKitPluginClient.defs
    VERBATIM)
list(APPEND WebKitLegacy_SOURCES
    ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/WebKitPluginAgentUser.c
    ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/WebKitPluginClientServer.c
    ${DERIVED_SOURCES_WEBKITLEGACY_DIR}/WebKitPluginHostUser.c
)

WEBKIT_CREATE_FORWARDING_HEADERS(WebKitLegacy DIRECTORIES ${WebKitLegacy_FORWARDING_HEADERS_DIRECTORIES} FILES ${WebKitLegacy_FORWARDING_HEADERS_FILES})

# FIXME: Forwarding headers should be copies of actual headers.
file(GLOB ObjCHeaders ${WEBCORE_DIR}/plugins/*.h)
list(APPEND ObjCHeaders
    WebKitAvailability.h
    WebScriptObject.h
)
foreach (_file ${ObjCHeaders})
    get_filename_component(_name ${_file} NAME)
    if (NOT EXISTS ${FORWARDING_HEADERS_DIR}/WebKitLegacy/${_name})
        file(WRITE ${FORWARDING_HEADERS_DIR}/WebKitLegacy/${_name} "#import <WebCore/${_name}>")
    endif ()
endforeach ()

set(WebKitLegacy_OUTPUT_NAME WebKitLegacy)

set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-compatibility_version 1 -current_version ${WEBKIT_MAC_VERSION}")
