Progress towards CMake on Windows and Mac.
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Apr 2015 18:36:43 +0000 (18:36 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Apr 2015 18:36:43 +0000 (18:36 +0000)
https://bugs.webkit.org/show_bug.cgi?id=143293

Reviewed by Filip Pizlo.

.:

* CMakeLists.txt:
Set DERIVED_SOURCES_WTF_DIR for Windows.
* Source/CMakeLists.txt:
Don't compile bmalloc on Windows.
* Source/cmake/OptionsCommon.cmake:
Use the absolute path of the C preprocessor.
* Source/cmake/OptionsWinCairo.cmake:
Added needed definitions.
* Source/cmake/OptionsWindows.cmake:
Set some default values and removed support for old Visual Studio versions before /MP.
* Source/cmake/WebKitFS.cmake:
Make WTF DerivedSources directory.
* Source/cmake/WebKitMacros.cmake:
Added ADD_PRECOMPILED_HEADER macro based on
http://stackoverflow.com/questions/148570/using-pre-compiled-headers-with-cmake

Source/bmalloc:

* bmalloc/BAssert.h:
Removed ellipses from macros to appease Visual Studio.

Source/JavaScriptCore:

* CMakeLists.txt:
Enabled using assembly on Windows.
Replaced unix commands with CMake commands.
* PlatformMac.cmake:
Tell open source builders where to find unicode headers.

Source/ThirdParty/ANGLE:

* include/GLES2/gl2.h:
Temporarily disabled WebGL on Windows CMake builds.

Source/WebCore:

* PlatformMac.cmake:
Tell open source builders where to find unicode headers.
* PlatformWin.cmake:
Include PlatformWinCairo.cmake.
* PlatformWinCairo.cmake:
Added from bug 115944 by Patrick Gansterer.
* bindings/js/JSDOMStringListCustom.cpp:
* bindings/js/JSDOMWrapper.cpp:
* bindings/js/JSMessageChannelCustom.cpp:
* bindings/js/JSPopStateEventCustom.cpp:
* bindings/js/JSReadableStreamCustom.cpp:
* bindings/js/ReadableStreamJSSource.cpp:
* bindings/js/ScriptController.cpp:
* css/CSSComputedStyleDeclaration.cpp:
* dom/Attr.cpp:
* dom/CollectionIndexCache.cpp:
* platform/graphics/ANGLEWebKitBridge.h:
Fixed include quirks.

Source/WebKit:

* PlatformMac.cmake:
Fixed some include directories.

Source/WTF:

* wtf/CMakeLists.txt:
Don't use bmalloc on Windows yet.
* wtf/FeatureDefines.h:
Temporarily disabled WebGL on Windows CMake builds.
* wtf/PlatformMac.cmake:
Tell open source builders where to find unicode headers.

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

36 files changed:
CMakeLists.txt
ChangeLog
Source/CMakeLists.txt
Source/JavaScriptCore/CMakeLists.txt
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/PlatformMac.cmake
Source/ThirdParty/ANGLE/ChangeLog
Source/ThirdParty/ANGLE/include/GLES2/gl2.h
Source/WTF/ChangeLog
Source/WTF/wtf/CMakeLists.txt
Source/WTF/wtf/FeatureDefines.h
Source/WTF/wtf/PlatformMac.cmake
Source/WebCore/ChangeLog
Source/WebCore/PlatformMac.cmake
Source/WebCore/PlatformWin.cmake
Source/WebCore/PlatformWinCairo.cmake [new file with mode: 0644]
Source/WebCore/bindings/js/JSDOMStringListCustom.cpp
Source/WebCore/bindings/js/JSDOMWrapper.cpp
Source/WebCore/bindings/js/JSMessageChannelCustom.cpp
Source/WebCore/bindings/js/JSPopStateEventCustom.cpp
Source/WebCore/bindings/js/JSReadableStreamCustom.cpp
Source/WebCore/bindings/js/ReadableStreamJSSource.cpp
Source/WebCore/bindings/js/ScriptController.cpp
Source/WebCore/css/CSSComputedStyleDeclaration.cpp
Source/WebCore/dom/Attr.cpp
Source/WebCore/dom/CollectionIndexCache.cpp
Source/WebCore/platform/graphics/ANGLEWebKitBridge.h
Source/WebKit/ChangeLog
Source/WebKit/PlatformMac.cmake
Source/bmalloc/ChangeLog
Source/bmalloc/bmalloc/BAssert.h
Source/cmake/OptionsCommon.cmake
Source/cmake/OptionsWinCairo.cmake
Source/cmake/OptionsWindows.cmake
Source/cmake/WebKitFS.cmake
Source/cmake/WebKitMacros.cmake

index 0bfb980..3acb9b9 100644 (file)
@@ -20,6 +20,7 @@ set(DERIVED_SOURCES_WEBCORE_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebCore")
 set(DERIVED_SOURCES_WEBKIT_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebKit")
 set(DERIVED_SOURCES_WEBKIT2_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebKit2")
 set(DERIVED_SOURCES_WEBINSPECTORUI_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WebInspectorUI")
+set(DERIVED_SOURCES_WTF_DIR "${CMAKE_BINARY_DIR}/DerivedSources/WTF")
 
 set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Source/cmake")
 
index 17e5a7e..6a174a6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * CMakeLists.txt:
+        Set DERIVED_SOURCES_WTF_DIR for Windows.
+        * Source/CMakeLists.txt:
+        Don't compile bmalloc on Windows.
+        * Source/cmake/OptionsCommon.cmake:
+        Use the absolute path of the C preprocessor.
+        * Source/cmake/OptionsWinCairo.cmake:
+        Added needed definitions.
+        * Source/cmake/OptionsWindows.cmake:
+        Set some default values and removed support for old Visual Studio versions before /MP.
+        * Source/cmake/WebKitFS.cmake:
+        Make WTF DerivedSources directory.
+        * Source/cmake/WebKitMacros.cmake:
+        Added ADD_PRECOMPILED_HEADER macro based on
+        http://stackoverflow.com/questions/148570/using-pre-compiled-headers-with-cmake
+
 2015-04-01  Gwang Yoon Hwang  <yoon@igalia.com>
 
         Use colored diagnostics when building with cmake + ninja + clang
index a6408f3..ceddfb1 100644 (file)
@@ -1,7 +1,10 @@
 # -----------------------------------------------------------------------------
 # Add module directories
 # -----------------------------------------------------------------------------
-add_subdirectory(bmalloc)
+# FIXME: Port bmalloc to Windows. https://bugs.webkit.org/show_bug.cgi?id=143310
+if (NOT WIN32)
+    add_subdirectory(bmalloc)
+endif ()
 
 add_subdirectory(WTF)
 
index 7211276..340e8ac 100644 (file)
@@ -738,6 +738,7 @@ add_custom_command(
 # files are used to build JavaScriptCore itself, we can just add LLIntAssembly.h to JSC_HEADERS
 # since it is used in the add_library() call at the end of this file.
 if (MSVC)
+    enable_language(ASM_MASM)
     list(APPEND JavaScriptCore_SOURCES
         ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LowLevelInterpreterWin.asm
     )
@@ -1078,6 +1079,8 @@ add_custom_command(
     VERBATIM)
 
 # Inspector Backend Dispatchers, Frontend Dispatchers, Type Builders
+file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol)
+file(MAKE_DIRECTORY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector)
 add_custom_command(
     OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorBackendDispatchers.cpp
            ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorBackendDispatchers.h
@@ -1085,12 +1088,11 @@ add_custom_command(
            ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorFrontendDispatchers.h
            ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorProtocolObjects.cpp
            ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector/InspectorProtocolObjects.h
-           ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol/InspectorBackendCommands.js
+           ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/inspector/InspectorBackendCommands.js
     MAIN_DEPENDENCY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/CombinedDomains.json
     DEPENDS ${JavaScriptCore_INSPECTOR_PROTOCOL_SCRIPTS}
-    COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/generate-inspector-protocol-bindings.py --outputDir "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}" --framework JavaScriptCore ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/CombinedDomains.json && mkdir -p ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector && cp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorBackendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorBackendDispatchers.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorFrontendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorFrontendDispatchers.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorProtocolObjects.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorProtocolObjects.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector && mkdir -p ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol && cp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorBackendCommands.js ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol
+    COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/generate-inspector-protocol-bindings.py --outputDir "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector" --framework JavaScriptCore ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/CombinedDomains.json
     VERBATIM)
-file(MAKE_DIRECTORY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector)
 
 # JSCBuiltins
 file(GLOB JSCBuiltins_js_files "${CMAKE_CURRENT_SOURCE_DIR}/builtins/*.js")
index cb5d7ae..7672a8b 100644 (file)
@@ -1,3 +1,16 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * CMakeLists.txt:
+        Enabled using assembly on Windows.
+        Replaced unix commands with CMake commands.
+        * PlatformMac.cmake:
+        Tell open source builders where to find unicode headers.
+
 2015-04-01  Yusuke Suzuki  <utatane.tea@gmail.com>
 
         IteratorClose should be called when jumping over the target for-of loop
index ef4c818..b747df7 100644 (file)
@@ -34,6 +34,7 @@ add_custom_command(
 
 list(APPEND JavaScriptCore_INCLUDE_DIRECTORIES
     ${JAVASCRIPTCORE_DIR}/disassembler/udis86
+    ${JAVASCRIPTCORE_DIR}/icu
 )
 list(APPEND JavaScriptCore_HEADERS
     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/TracingDtrace.h
index 080da6d..70daa19 100644 (file)
@@ -1,3 +1,13 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * include/GLES2/gl2.h:
+        Temporarily disabled WebGL on Windows CMake builds.
+
 2015-03-17  Zan Dobersek  <zdobersek@igalia.com>
 
         [CMake] Use a forwarding header for ANGLE's ShaderLang.h to avoid picking up ANGLE's EGL headers
index 9ab5832..5ccda4c 100644 (file)
@@ -470,7 +470,8 @@ typedef khronos_ssize_t  GLsizeiptr;
  * GL core functions.
  *-----------------------------------------------------------------------*/
 
-#if defined(_MSC_VER) && !defined(ANGLE_WEBKIT_WIN)
+// FIXME: Get WebGL working on Windows with CMake. https://bugs.webkit.org/show_bug.cgi?id=143311
+#if defined(_MSC_VER) && !defined(ANGLE_WEBKIT_WIN) && !defined(BUILDING_WITH_CMAKE)
 #include <GLES2/gl2softlinking.h>
 #else
 
index ee23277..684f523 100644 (file)
@@ -1,3 +1,17 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * wtf/CMakeLists.txt:
+        Don't use bmalloc on Windows yet.
+        * wtf/FeatureDefines.h:
+        Temporarily disabled WebGL on Windows CMake builds.
+        * wtf/PlatformMac.cmake:
+        Tell open source builders where to find unicode headers.
+
 2015-03-31  Alexey Proskuryakov  <ap@apple.com>
 
         Fix the build after <http://trac.webkit.org/changeset/182205>.
index 1b12a68..dc19055 100644 (file)
@@ -221,9 +221,13 @@ set(WTF_INCLUDE_DIRECTORIES
 
 set(WTF_LIBRARIES
     ${CMAKE_DL_LIBS}
-    bmalloc
 )
 
+# FIXME: Port bmalloc to Windows. https://bugs.webkit.org/show_bug.cgi?id=143310
+if (NOT WIN32)
+    list(APPEND WTF_LIBRARIES bmalloc)
+endif ()
+
 list(APPEND WTF_SOURCES
     unicode/icu/CollatorICU.cpp
 )
index 16f5ac3..02ad0f5 100644 (file)
@@ -260,8 +260,13 @@ the public iOS SDK. We will also need to update the FeatureDefines.xcconfig file
 #endif
 
 #if !defined(ENABLE_WEBGL)
+// FIXME: Get WebGL working on Windows with CMake. https://bugs.webkit.org/show_bug.cgi?id=143311
+#if defined(BUILDING_WITH_CMAKE)
+#define ENABLE_WEBGL 0
+#else
 #define ENABLE_WEBGL 1
 #endif
+#endif
 
 #endif /* PLATFORM(WIN) && !PLATFORM(WIN_CAIRO) */
 
@@ -279,8 +284,13 @@ the public iOS SDK. We will also need to update the FeatureDefines.xcconfig file
 #endif
 
 #if !defined(ENABLE_WEBGL)
+// FIXME: Get WebGL working on Windows with CMake. https://bugs.webkit.org/show_bug.cgi?id=143311
+#if defined(BUILDING_WITH_CMAKE)
+#define ENABLE_WEBGL 0
+#else
 #define ENABLE_WEBGL 1
 #endif
+#endif
 
 #endif /* PLATFORM(WIN_CAIRO) */
 
index 5f81e71..8d107c7 100644 (file)
@@ -20,3 +20,7 @@ list(APPEND WTF_SOURCES
     text/mac/StringMac.mm
     text/mac/StringViewObjC.mm
 )
+
+list(APPEND WTF_INCLUDE_DIRECTORIES
+    "${WTF_DIR}/icu"
+)
index cab5edc..bf233ee 100644 (file)
@@ -1,3 +1,29 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * PlatformMac.cmake:
+        Tell open source builders where to find unicode headers.
+        * PlatformWin.cmake:
+        Include PlatformWinCairo.cmake.
+        * PlatformWinCairo.cmake:
+        Added from bug 115944 by Patrick Gansterer.
+        * bindings/js/JSDOMStringListCustom.cpp:
+        * bindings/js/JSDOMWrapper.cpp:
+        * bindings/js/JSMessageChannelCustom.cpp:
+        * bindings/js/JSPopStateEventCustom.cpp:
+        * bindings/js/JSReadableStreamCustom.cpp:
+        * bindings/js/ReadableStreamJSSource.cpp:
+        * bindings/js/ScriptController.cpp:
+        * css/CSSComputedStyleDeclaration.cpp:
+        * dom/Attr.cpp:
+        * dom/CollectionIndexCache.cpp:
+        * platform/graphics/ANGLEWebKitBridge.h:
+        Fixed include quirks.
+
 2015-03-31  Simon Fraser  <simon.fraser@apple.com>
 
         Remove scrolling tree dependency on wheel event handler counts, and use fast scrolling even when there are wheel handlers
index 451abc1..6cd906a 100644 (file)
@@ -3,6 +3,7 @@ list(APPEND WebCore_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/bindings/objc"
     "${WEBCORE_DIR}/bridge/objc"
     "${WEBCORE_DIR}/editing/mac"
+    "${WEBCORE_DIR}/icu"
     "${WEBCORE_DIR}/loader/archive/cf"
     "${WEBCORE_DIR}/loader/cf"
     "${WEBCORE_DIR}/loader/mac"
@@ -83,7 +84,7 @@ list(APPEND WebCore_SOURCES
     platform/cf/MediaAccessibilitySoftLink.cpp
     platform/cf/RunLoopObserver.cpp
     platform/cf/SharedBufferCF.cpp
-    platform/cf/SharedTimerCF.mm
+    platform/cf/SharedTimerCF.cpp
     platform/cf/URLCF.cpp
 
     platform/cocoa/DisplaySleepDisablerCocoa.cpp
index dc56b0e..75f074c 100644 (file)
@@ -25,7 +25,6 @@ list(APPEND WebCore_SOURCES
     platform/graphics/opentype/OpenTypeUtilities.cpp
 
     platform/graphics/win/DIBPixelData.cpp
-    platform/graphics/win/GDIExtras.cpp
     platform/graphics/win/IconWin.cpp
     platform/graphics/win/ImageWin.cpp
     platform/graphics/win/IntPointWin.cpp
@@ -65,28 +64,18 @@ list(APPEND WebCore_SOURCES
     platform/win/WebCoreInstanceHandle.cpp
     platform/win/WheelEventWin.cpp
     platform/win/WidgetWin.cpp
-
-    plugins/PluginDatabase.cpp
-    plugins/PluginPackage.cpp
-
-    plugins/win/PluginDatabaseWin.cpp
 )
 
-if (ENABLE_NETSCAPE_PLUGIN_API)
-    list(APPEND WebCore_SOURCES
-        plugins/PluginView.cpp
-        plugins/npapi.cpp
-
-        plugins/win/PluginMessageThrottlerWin.cpp
-        plugins/win/PluginPackageWin.cpp
-        plugins/win/PluginViewWin.cpp
-    )
-endif ()
+ADD_PRECOMPILED_HEADER("WebCorePrefix" WebCore_SOURCES)
 
 list(APPEND WebCore_SOURCES
     "${DERIVED_SOURCES_WEBCORE_DIR}/WebCoreHeaderDetection.h"
 )
 
+if (${WTF_PLATFORM_WIN_CAIRO})
+    include(PlatformWinCairo.cmake)
+endif ()
+
 # FIXME: This should test if AVF headers are available.
 # https://bugs.webkit.org/show_bug.cgi?id=135861
 add_custom_command(
diff --git a/Source/WebCore/PlatformWinCairo.cmake b/Source/WebCore/PlatformWinCairo.cmake
new file mode 100644 (file)
index 0000000..d7ddf41
--- /dev/null
@@ -0,0 +1,231 @@
+list(APPEND WebCore_INCLUDE_DIRECTORIES
+    "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore"
+    "${DirectX_INCLUDE_DIRS}"
+    "$ENV{WEBKIT_LIBRARIES}/include"
+    "$ENV{WEBKIT_LIBRARIES}/include/cairo"
+    "$ENV{WEBKIT_LIBRARIES}/include/SQLite"
+    "$ENV{WEBKIT_LIBRARIES}/include/zlib"
+    "${JAVASCRIPTCORE_DIR}/wtf/text"
+    "${WEBCORE_DIR}/loader/archive/cf"
+    "${WEBCORE_DIR}/platform/cf"
+    "${WEBCORE_DIR}/platform/graphics/cairo"
+    "${WEBCORE_DIR}/platform/network/curl"
+    "${WEBCORE_DIR}/platform/network/win"
+)
+
+list(APPEND WebCore_SOURCES
+    accessibility/win/AXObjectCacheWin.cpp
+    accessibility/win/AccessibilityObjectWin.cpp
+    accessibility/win/AccessibilityObjectWrapperWin.cpp
+
+    editing/SmartReplace.cpp
+    editing/SmartReplaceCF.cpp
+
+    loader/archive/cf/LegacyWebArchive.cpp
+
+    page/win/FrameCairoWin.cpp
+    page/win/FrameWin.cpp
+
+    platform/cf/CFURLExtras.cpp
+    platform/cf/FileSystemCF.cpp
+    platform/cf/SharedBufferCF.cpp
+
+    platform/cf/win/CertificateCFWin.cpp
+
+    platform/graphics/FontPlatformData.cpp
+    platform/graphics/GLContext.cpp
+    platform/graphics/GraphicsLayer.cpp
+    platform/graphics/ImageSource.cpp
+    platform/graphics/ShadowBlur.cpp
+    platform/graphics/WOFFFileFormat.cpp
+
+    platform/graphics/cairo/BitmapImageCairo.cpp
+    platform/graphics/cairo/CairoUtilities.cpp
+    platform/graphics/cairo/FloatRectCairo.cpp
+    platform/graphics/cairo/FontCairo.cpp
+    platform/graphics/cairo/GradientCairo.cpp
+    platform/graphics/cairo/GraphicsContext3DCairo.cpp
+    platform/graphics/cairo/GraphicsContextCairo.cpp
+    platform/graphics/cairo/ImageBufferCairo.cpp
+    platform/graphics/cairo/ImageCairo.cpp
+    platform/graphics/cairo/IntRectCairo.cpp
+    platform/graphics/cairo/OwnPtrCairo.cpp
+    platform/graphics/cairo/PathCairo.cpp
+    platform/graphics/cairo/PatternCairo.cpp
+    platform/graphics/cairo/PlatformContextCairo.cpp
+    platform/graphics/cairo/PlatformPathCairo.cpp
+    platform/graphics/cairo/RefPtrCairo.cpp
+    platform/graphics/cairo/TransformationMatrixCairo.cpp
+
+    platform/graphics/win/DIBPixelData.cpp
+    platform/graphics/win/FontCacheWin.cpp
+    platform/graphics/win/FontCustomPlatformDataCairo.cpp
+    platform/graphics/win/FontPlatformDataCairoWin.cpp
+    platform/graphics/win/FontPlatformDataWin.cpp
+    platform/graphics/win/FontWin.cpp
+    platform/graphics/win/FullScreenController.cpp
+    platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp
+    platform/graphics/win/GraphicsContextCairoWin.cpp
+    platform/graphics/win/GraphicsContextWin.cpp
+    platform/graphics/win/ImageCairoWin.cpp
+    platform/graphics/win/SimpleFontDataCairoWin.cpp
+    platform/graphics/win/SimpleFontDataWin.cpp
+    platform/graphics/win/TransformationMatrixWin.cpp
+    platform/graphics/win/UniscribeController.cpp
+
+    platform/image-decoders/cairo/ImageDecoderCairo.cpp
+
+    platform/network/CredentialStorage.cpp
+    platform/network/NetworkStorageSessionStub.cpp
+    platform/network/SynchronousLoaderClient.cpp
+
+    platform/network/curl/CookieJarCurl.cpp
+    platform/network/curl/CredentialStorageCurl.cpp
+    platform/network/curl/CurlDownload.cpp
+    platform/network/curl/DNSCurl.cpp
+    platform/network/curl/FormDataStreamCurl.cpp
+    platform/network/curl/MultipartHandle.cpp
+    platform/network/curl/ProxyServerCurl.cpp
+    platform/network/curl/ResourceHandleCurl.cpp
+    platform/network/curl/ResourceHandleManager.cpp
+    platform/network/curl/SocketStreamHandleCurl.cpp
+
+    platform/network/win/DownloadBundleWin.cpp
+
+    platform/text/cf/HyphenationCF.cpp
+
+    platform/text/win/LocaleWin.cpp
+    platform/text/win/TextBreakIteratorInternalICUWin.cpp
+
+    platform/win/DelayLoadedModulesEnumerator.cpp
+    platform/win/DragImageCairoWin.cpp
+    platform/win/GDIObjectCounter.cpp
+    platform/win/ImportedFunctionsEnumerator.cpp
+    platform/win/ImportedModulesEnumerator.cpp
+    platform/win/LoggingWin.cpp
+    platform/win/PEImage.cpp
+    platform/win/PathWalker.cpp
+    platform/win/ScrollbarThemeSafari.cpp
+    platform/win/WebCoreBundleWin.cpp
+    platform/win/WebCoreTextRenderer.cpp
+    platform/win/WindowMessageBroadcaster.cpp
+
+    rendering/RenderLayerBacking.cpp
+    rendering/RenderLayerCompositor.cpp
+    rendering/RenderThemeSafari.cpp
+    rendering/RenderThemeWin.cpp
+)
+
+list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
+    ${WEBCORE_DIR}/css/themeWin.css
+    ${WEBCORE_DIR}/css/themeWinQuirks.css
+)
+
+list(APPEND WebCore_LIBRARIES
+    ${DirectX_LIBRARIES}
+    CFLite
+    SQLite3
+    cairo
+    comctl32
+    crypt32
+    iphlpapi
+    libcurl_imp
+    libjpeg
+    libpng
+    libxml2
+    libxslt
+    rpcrt4
+    shlwapi
+    usp10
+    version
+    winmm
+    ws2_32
+    zdll
+)
+
+list(APPEND WebCoreTestSupport_LIBRARIES
+    CFLite
+    cairo
+    shlwapi
+)
+
+set(WebCore_FORWARDING_HEADERS_DIRECTORIES
+    accessibility
+    bindings
+    bridge
+    css
+    dom
+    editing
+    history
+    html
+    inspector
+    loader
+    page
+    platform
+    plugins
+    rendering
+    storage
+    svg
+    websockets
+    workers
+    xml
+
+    Modules/geolocation
+    Modules/notifications
+    Modules/webdatabase
+
+    accessibility/win
+
+    bindings/generic
+    bindings/js
+
+    bridge/jsc
+
+    history/cf
+
+    html/forms
+    html/parser
+
+    loader/appcache
+    loader/archive
+    loader/cache
+    loader/icon
+
+    loader/archive/cf
+
+    page/animation
+    page/win
+
+    platform/animation
+    platform/cf
+    platform/graphics
+    platform/mock
+    platform/network
+    platform/sql
+    platform/text
+    platform/win
+
+    platform/cf/win
+
+    platform/graphics/cairo
+    platform/graphics/opentype
+    platform/graphics/transforms
+    platform/graphics/win
+
+    platform/graphics/ca/win
+
+    platform/network/curl
+
+    platform/text/transcoder
+
+    rendering/style
+    rendering/svg
+
+    svg/animation
+    svg/graphics
+    svg/properties
+
+    svg/graphics/filters
+)
+
+WEBKIT_CREATE_FORWARDING_HEADERS(WebCore DIRECTORIES ${WebCore_FORWARDING_HEADERS_DIRECTORIES})
index 00e141b..dd8358d 100644 (file)
@@ -19,6 +19,7 @@
 #include "config.h"
 #include "JSDOMStringList.h"
 
+#include "DOMWrapperWorld.h"
 #include <runtime/JSCJSValueInlines.h>
 
 using namespace JSC;
index 1629ae5..3145a3e 100644 (file)
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "JSDOMWrapper.h"
 
+#include "DOMWrapperWorld.h"
 #include <runtime/Error.h>
 
 using namespace JSC;
index d8a8e48..01965e4 100644 (file)
@@ -27,6 +27,7 @@
 
 #if ENABLE(CHANNEL_MESSAGING)
 
+#include "DOMWrapperWorld.h"
 #include "JSMessageChannel.h"
 #include <heap/SlotVisitorInlines.h>
 
index 47aec80..95aee34 100644 (file)
@@ -31,6 +31,7 @@
 #include "config.h"
 #include "JSPopStateEvent.h"
 
+#include "DOMWrapperWorld.h"
 #include "JSHistory.h"
 #include <runtime/JSCJSValueInlines.h>
 
index 24555ea..f912ab3 100644 (file)
 #include "JSReadableStream.h"
 
 #include "ExceptionCode.h"
+#include "JSDOMBinding.h"
 #include "JSDOMPromise.h"
 #include "JSReadableStreamReader.h"
 #include "ReadableStream.h"
 #include "ReadableStreamJSSource.h"
 #include "ReadableStreamReader.h"
+#include <runtime/Error.h>
 #include <wtf/NeverDestroyed.h>
 
 using namespace JSC;
index 1ed0055..0fbc896 100644 (file)
@@ -32,6 +32,7 @@
 #if ENABLE(STREAMS_API)
 #include "ReadableStreamJSSource.h"
 
+#include "DOMWrapperWorld.h"
 #include "JSDOMPromise.h"
 #include "JSReadableStream.h"
 #include "NotImplemented.h"
index 969b119..e0d50a1 100644 (file)
@@ -52,6 +52,7 @@
 #include <debugger/Debugger.h>
 #include <heap/StrongInlines.h>
 #include <inspector/ScriptCallStack.h>
+#include <profiler/Profile.h>
 #include <runtime/InitializeThreading.h>
 #include <runtime/JSLock.h>
 #include <wtf/Threading.h>
index 6a4ef91..d946380 100644 (file)
@@ -56,6 +56,7 @@
 #include "Pair.h"
 #include "PseudoElement.h"
 #include "Rect.h"
+#include "RenderBlock.h"
 #include "RenderBox.h"
 #include "RenderStyle.h"
 #include "SVGElement.h"
index d15559f..18570f1 100644 (file)
@@ -23,6 +23,7 @@
 #include "config.h"
 #include "Attr.h"
 
+#include "Event.h"
 #include "ExceptionCode.h"
 #include "ScopedEventQueue.h"
 #include "StyleProperties.h"
index e15b591..dd9d656 100644 (file)
@@ -26,6 +26,7 @@
 #include "config.h"
 #include "CollectionIndexCache.h"
 
+#include "DOMWindow.h"
 #include "JSDOMWindowBase.h"
 
 namespace WebCore {
index 85a34a3..a0a5964 100644 (file)
@@ -31,7 +31,7 @@
 
 #if !PLATFORM(GTK) && !PLATFORM(EFL) && !PLATFORM(WIN) && !defined(BUILDING_WITH_CMAKE)
 #include "ANGLE/ShaderLang.h"
-#elif PLATFORM(WIN)
+#elif PLATFORM(WIN) && !defined(BUILDING_WITH_CMAKE)
 #include "GLSLANG/ShaderLang.h"
 #else
 #include <ANGLE/ShaderLang.h>
index a65208e..2f354e0 100644 (file)
@@ -1,3 +1,13 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * PlatformMac.cmake:
+        Fixed some include directories.
+
 2015-03-26  Alex Christensen  <achristensen@webkit.org>
 
         Progress towards CMake on Mac.
index b25cbc8..da61096 100644 (file)
@@ -32,6 +32,7 @@ list(APPEND WebKit_LIBRARIES
 )
 
 list(APPEND WebKit_INCLUDE_DIRECTORIES
+    "${DERIVED_SOURCES_WEBCORE_DIR}"
     "${JAVASCRIPTCORE_DIR}/dfg"
     "${WEBCORE_DIR}/accessibility/mac"
     "${WEBCORE_DIR}/bindings/objc"
@@ -67,7 +68,7 @@ list(APPEND WebKit_INCLUDE_DIRECTORIES
     mac/DefaultDelegates
     mac/DOM
     mac/History
-    mac/icu/unicode
+    mac/icu
     mac/Misc
     mac/Panels
     mac/Plugins
index fe443a5..7be2dda 100644 (file)
@@ -1,3 +1,13 @@
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Windows and Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143293
+
+        Reviewed by Filip Pizlo.
+
+        * bmalloc/BAssert.h:
+        Removed ellipses from macros to appease Visual Studio.
+
 2015-03-13  Alex Christensen  <achristensen@webkit.org>
 
         Progress towards CMake on Mac.
index f58a2af..240f335 100644 (file)
@@ -41,7 +41,7 @@
 
 #define BASSERT(x)
 
-#define IF_DEBUG(x...)
+#define IF_DEBUG(x)
 
 #endif // defined(NDEBUG)
 
@@ -52,7 +52,7 @@
 
 #define BASSERT(x) BASSERT_IMPL(x)
 
-#define IF_DEBUG(x...) x
+#define IF_DEBUG(x) x
 
 #endif // !defined(NDEBUG)
 
index e57d704..601881d 100644 (file)
@@ -7,8 +7,8 @@ add_definitions(-DHAVE_CONFIG_H=1)
 # the reader.
 if (MSVC)
     # FIXME: Some codegenerators don't support paths with spaces. So use the executable name only.
-    get_filename_component(CODE_GENERATOR_PREPROCESSOR_EXECUTABLE ${CMAKE_CXX_COMPILER} NAME)
-    set(CODE_GENERATOR_PREPROCESSOR "${CODE_GENERATOR_PREPROCESSOR_EXECUTABLE} /nologo /EP")
+    get_filename_component(CODE_GENERATOR_PREPROCESSOR_EXECUTABLE ${CMAKE_CXX_COMPILER} ABSOLUTE)
+    set(CODE_GENERATOR_PREPROCESSOR "\"${CODE_GENERATOR_PREPROCESSOR_EXECUTABLE}\" /nologo /EP")
     set(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "${CODE_GENERATOR_PREPROCESSOR}")
 else ()
     set(CODE_GENERATOR_PREPROCESSOR "${CMAKE_CXX_COMPILER} -E -P -x c++")
index af8e176..f6d8736 100644 (file)
@@ -4,3 +4,6 @@ set(WTF_PLATFORM_WIN_CAIRO 1)
 set(WTF_USE_CF 1)
 set(WTF_USE_CURL 1)
 set(WTF_USE_ICU_UNICODE 1)
+set(WTF_USE_3D_GRAPHICS 1)
+
+add_definitions(-DWTF_PLATFORM_WIN_CAIRO=1)
index 45dcd50..085c44a 100644 (file)
@@ -1,6 +1,12 @@
 add_definitions(-D_HAS_EXCEPTIONS=0 -DNOMINMAX -DUNICODE)
 
+#FIXME: Make sure these are the same as the Windows feature defines once we get CMake working on Windows.
 WEBKIT_OPTION_BEGIN()
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_VENDOR_PREFIXES OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PICTURE_SIZES ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PROMISES OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIEW_MODE_CSS_MEDIA OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_SYSTEM_MALLOC ON)
 WEBKIT_OPTION_END()
 
@@ -11,15 +17,11 @@ if (MSVC)
         /wd4018 /wd4068 /wd4099 /wd4100 /wd4127 /wd4138 /wd4146 /wd4180 /wd4189 /wd4201 /wd4244 /wd4251 /wd4267 /wd4275 /wd4288
         /wd4291 /wd4305 /wd4309 /wd4344 /wd4355 /wd4389 /wd4396 /wd4481 /wd4503 /wd4505 /wd4510 /wd4512 /wd4530 /wd4610 /wd4702
         /wd4706 /wd4800 /wd4819 /wd4951 /wd4952 /wd4996 /wd6011 /wd6031 /wd6211 /wd6246 /wd6255 /wd6387
+        /MP
     )
 
     string(REGEX REPLACE "/EH[a-z]+" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable C++ exceptions
     string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable RTTI
-
-    if (NOT MSVC_VERSION LESS 1500)
-        set(CMAKE_C_FLAGS "/MP ${CMAKE_C_FLAGS}")
-        set(CMAKE_CXX_FLAGS "/MP ${CMAKE_CXX_FLAGS}")
-    endif ()
 endif ()
 
 set(PORT Win)
index c3dbc0d..e821c66 100644 (file)
@@ -1,4 +1,5 @@
 file(MAKE_DIRECTORY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR})
+file(MAKE_DIRECTORY ${DERIVED_SOURCES_WTF_DIR})
 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Source/JavaScriptCore/runtime)
 
 file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBINSPECTORUI_DIR})
index 4e8edb0..84b53ac 100644 (file)
@@ -23,6 +23,20 @@ macro(ADD_SOURCE_DEPENDENCIES _source _deps)
     set_source_files_properties(${_source} PROPERTIES OBJECT_DEPENDS "${_tmp}")
 endmacro()
 
+macro(ADD_PRECOMPILED_HEADER _name _output_source)
+    if (MSVC)
+        set_source_files_properties(${_name}.cpp
+            PROPERTIES COMPILE_FLAGS "/Yc\"${_name}.h\" /Fp\"${_name}.pch\""
+            OBJECT_OUTPUTS "${_name}.pch")
+        foreach (_file ${_input_files})
+            set_source_files_properties(${_file}
+                PROPERTIES COMPILE_FLAGS "/Yu\"${_name}.h\" /FI\"${_name}.h\" /Fp\"${_name}.pch\""
+                OBJECT_DEPENDS "${PrecompiledBinary}")
+        endforeach ()
+    endif ()
+    #FIXME: Add Xcode precompiled header support.
+    list(APPEND ${_output_source} ${PrecompiledSource})
+endmacro()
 
 # Helper macro which wraps generate-bindings.pl script.
 #   _output_source is a list name which will contain generated sources.(eg. WebCore_SOURCES)